Expand Secret Group Test to multilanguage

Current implementation of Secret Group Test allows choosing skills only from a set list of skills using their English names.
As a player from a non English country I have translated names of skills on their character sheets, and now this feature cannot be used the way it was intended
Could it be expanded, so that it allows using custom skills name?

Are you using Babele for the translation? There is a workaround described in here: https://github.com/Jagusti/fvtt-wfrp4e-gmtoolkit/issues/135#issuecomment-1192851967


[Bug] Sql cache return wrong result

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
all version
What's Wrong?
When enable query sql cache, if we delete some partition(s), the cache will not be refreshed and the query will return wrong result.
What You Expected?
Query cache should return right result.
How to Reproduce?

Enable sql cache by executing set enable_sql_cache=true and set cache_last_version_interval_second=0 and create a table like this:

CREATE TABLE `tbl_test` (
  `siteid` int(11) NOT NULL DEFAULT "10",
  `citycode` smallint(6) NOT NULL DEFAULT "0",
  `username` varchar(32) NOT NULL DEFAULT "",
  `pday` varchar(20) NOT NULL DEFAULT "",
  `pv` bigint(20) SUM NOT NULL DEFAULT "0",
  INDEX siteid_Idx (`siteid`) USING BITMAP COMMENT '创建表加siteid列索引'
) ENGINE=OLAP
AGGREGATE KEY(`siteid`, `citycode`, `username`, `pday`)
PARTITION BY LIST(`pday`)
(
    PARTITION `p_20230825` VALUES IN ("20230825"),
    PARTITION `p_20230826` VALUES IN ("20230826"),
    PARTITION `p_20230827` VALUES IN ("20230827")
)
DISTRIBUTED BY HASH(`siteid`) BUCKETS 10
PROPERTIES (
"replication_allocation" = "tag.location.default: 1",
"is_being_synced" = "false",
"storage_format" = "V2",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
"enable_single_replica_compaction" = "false"
);

insert some data:

insert into `tbl_test` values(1, 1, 'test', '20230825', 1);
insert into `tbl_test` values(1, 1, 'test', '20230826', 1);
insert into `tbl_test` values(1, 1, 'test', '20230827', 1);

execute a query: select * from tbl_test, it will return 3 rows.
delete partition  p_20230826 by executing alter table tbl_test drop partition p_20230826.
execute this query again: select * from tbl_test, it will return 3 rows too (in fact the right result should be 2, the row in partition p_20230826 should not be returned).

Anything Else?
The reason is that sql cache just use partitionKey , lastVersion and lastTime to check if the cache should be returned, if we delete some partition(s) which is not the latest updated partition, the all above values are not changed, so the cache will hit.
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

Test the master branch code and the problem cannot be repeated.The cache_last_version_interval_second variable does not exist.


Issue in Nesting a Draggable inside a Droppable

I am trying to build a SectionList where every section is a Droppable and the items are Draggable.
Any fix around it?

@Karthik-B-06 are you trying to make a kanban app like trello ?

I had the same problem.

@lizhengnacl liz
I fixed by edit node module lib, on updateDraggable, instead of this.setState, i change to this.state.draggables = ...

@bmbknds Yeah something like trello kanban board. I am still on the search for proper implementation.

@Karthik-B-06 this isn’t RN but in case you haven’t come across it I wanted to share: https://github.com/atlassian/react-beautiful-dnd

@squatto With react there are various options, searching for a solution in react-native.


Refactor of remote launching

Description
The processmon had evolved to be very complex. This PR simplifies the process. All commands to the remotes go through the enforcer proxy and the supervisor proxy is just a stub. The remotes do not receive concurrent commands from two places and the whole logic is simplified significantly.
It also improves error handling, so when one of the remotes fails operations continue for the rest.
Finally it improves error recovery when a remote dies.

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1092",
    "commit-sha": "d89313f07f5405e3b2cb083356207e0d3c4fac64"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "761",
    "commit-sha": "7ea69e0c9396a789462f81613f81b67f102aa448"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1092",
    "commit-sha": "fe923448a2234392e4da6343f669c7d21b927ad8"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "761",
    "commit-sha": "7ea69e0c9396a789462f81613f81b67f102aa448"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1092",
    "commit-sha": "a1e8522a375e85293a797b460be8ab769a26a36a"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "761",
    "commit-sha": "7ea69e0c9396a789462f81613f81b67f102aa448"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1092",
    "commit-sha": "a1e8522a375e85293a797b460be8ab769a26a36a"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "761",
    "commit-sha": "7ea69e0c9396a789462f81613f81b67f102aa448"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "761",
    "commit-sha": "7ea69e0c9396a789462f81613f81b67f102aa448"
  },
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1092",
    "commit-sha": "21e4eeb9ee7e4e65a2aee1501ac169c204e74428"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1092",
    "commit-sha": "21e4eeb9ee7e4e65a2aee1501ac169c204e74428"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "761",
    "commit-sha": "7ea69e0c9396a789462f81613f81b67f102aa448"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1092",
    "commit-sha": "c7aac9e9af70015276556fbfbc4a6a9ab7c2c256"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "761",
    "commit-sha": "bea302c87efed095f3da59d8ef45e8a1aa66ba22"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "761",
    "commit-sha": "f817e325562ff0b9424df9a79ac6d1bd57e31ba3"
  },
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1092",
    "commit-sha": "c7aac9e9af70015276556fbfbc4a6a9ab7c2c256"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1092",
    "commit-sha": "0df6850fd1411df93c750be2dbdcfcd9d0f0ba67"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "761",
    "commit-sha": "f817e325562ff0b9424df9a79ac6d1bd57e31ba3"
  }
]


[release-4.12] Dockerfile: get arch-specific rpms

Use arch-specific RPMs when artifacts contains multiarch RPMs.
Cherry-pick of #462 on release-4.12
Closes #589 #590

Yeah, I'm good with landing this now, it doesn't change any functionality
/hold cancel


Does it support Mac?

yep

There's no documented way to compile/freeze for other platforms. I can't get an example app to build on mac. Followed https://github.com/chriskiehl/Gooey/issues/259 but to no resolve.

Did you try the current packaging instructions in the docs folder? https://github.com/chriskiehl/Gooey/blob/master/docs/packaging/Packaging-Gooey.md


fix: sys tests use async/await to allow a fix

The system tests have been updated to use async/await.  This is
done to make it easier to see errors in the tests and fix them.
Fixes: #213

@DominicKramer it looks like the unit tests are failing - i was going to wait until those were passing to review :)

@JustinBeckwith Yes I'm still in the process of resolving some issues that are causing the tests to fail.
Normally, I don't expect a review until I've explicitly added reviewers.  However, I could instead indicate in the title not to review.  What approach do you suggest I should follow that would align with your team's expectations for a PR that doesn't need to be reviewed yet?

Ahhhh, got it.  Apologies!  Typically I don't open the PR until it's ready for some kind of review 🤷♂  This is my bad though, I should have paid better attention.  I just saw the issue where someone was asking for a release and got eager :)

@JustinBeckwith No worries.  It is ready to review now :)


Feature/feature normalization

Normalizing training and validation samples by 255 to ensure trained models work with NatML

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: Anders Brams:x: minkichunmAnders Brams seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


FirebaseIndexRecyclerAdapter not found

Hi All,
This may seem like a silly question. However I'm trying to use FirebaseIndexRecyclerAdapter however this is not coming as an option.
I"m using compile 'com.firebaseui:firebase-ui-database:3.0.0' and I can use the normal FirebaseRecyclerAdapter but not the Index adapter.
Am I missing something here.

Yep, we killed that in favor of the builder. See the migration guide which explains that you can now use setIndexQuery() on the builder to get the index adapter.

Thank you for you help Alex, I see how this is easier. However, this no longer accepts a query. Is there any way to do this?
Joe

@joemerritt Not sure what you're looking at, but it should still accept a query. See this example:
https://github.com/firebase/FirebaseUI-Android/blob/7d72ddb96e274200a89ceef550aa33337b6fed4a/app/src/main/java/com/firebase/uidemo/database/realtime/RealtimeDbChatIndexActivity.java#L25-L30

@joemerritt closing this issue since @SUPERCILEX has pointed you in the right direction but feel free to keep asking questions on this thread if you don't get it working.


Big Sur success condition does not work

On Big Sur this script responds with "[WARNING] FileVault key was generated, but escrow cannot be confirmed. Please verify that the redirection profile is installed and the Mac is connected to the internet.".
It looks like the conditional check only checks for OS_MINOR >= 13, and this does not work with Big Sur because of the changed version numbering.
A quick and dirty fix is:
at the line after:
# Differentiate <=10.12 and >=10.13 success conditions

change:
if [[ "$OS_MINOR" -ge 13 ]]; then

to
if [ "$OS_MINOR" -ge 13 ] | [ "$OS_MAJOR" -ge 11 ]; then

Thanks!


Repo sync for protected CLA branch

The pull request is created from main638052771613145206sync_temp to main to fix git push error for protected CLA branch

Learn Build status updates of commit 2df1a83:
:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Camdozaal fishing helper plugin

Adds conditional highlighting to world objects used by the player during Camdozaal fishing, and a custom idle alert. See the associated README for more information.

Please remove enabledByDefault = false since this confuses users.
Also reading your readme, is there any reason why you didn't add a RegionID check? Seems like it'd prevent unnecessary #support traffic and it's simple to implement

Please remove enabledByDefault = false since this confuses users.

Will do.

Also reading your readme, is there any reason why you didn't add a RegionID check? Seems like it'd prevent unnecessary #support traffic and it's simple to implement

I just didn't get around to this (there's a TODO in the plugin file for it), but I see your point - I'll implement a check.

@YvesW Done


[!] undefined method `set_setting' for nil:NilClass (NoMethodError) on automatic_code_signing.rb

New Issue Checklist

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

Issue Description
I got an error '/Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/actions/automatic_code_signing.rb:42:in block in run': [!] undefined method set_setting' for nil:NilClass (NoMethodError)'.
Fastlane running on Jenkins CI progress.

Users/myTeam/.fastlane/bin/fastlane build_sss_dev changelog:jenkins-sss-dev_ios-246/abeb07f4d51be8c7cfe0b0dfa4e44748229cc644
Ignoring binding_of_caller-0.8.0 because its extensions are not built.  Try: gem pristine binding_of_caller --version 0.8.0
Ignoring byebug-11.0.1 because its extensions are not built.  Try: gem pristine byebug --version 11.0.1
Ignoring debug_inspector-0.0.3 because its extensions are not built.  Try: gem pristine debug_inspector --version 0.0.3
Ignoring interception-0.5 because its extensions are not built.  Try: gem pristine interception --version 0.5
Ignoring ox-2.10.0 because its extensions are not built.  Try: gem pristine ox --version 2.10.0
Ignoring rainbow-2.2.2 because its extensions are not built.  Try: gem pristine rainbow --version 2.2.2
[11:57:54]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[11:57:54]: WARNING: fastlane requires your locale to be set to UTF-8. To learn more go to https://docs.fastlane.tools/getting-started/ios/setup/#set-up-environment-variables
[11:57:56]: ----------------------------------------
[11:57:56]: --- Step: Verifying fastlane version ---
[11:57:56]: ----------------------------------------
[11:57:56]: Your fastlane version 2.134.0 matches the minimum requirement of 2.95.0  ✅
[11:57:56]: ------------------------------
[11:57:56]: --- Step: default_platform ---
[11:57:56]: ------------------------------
[11:57:56]: -----------------------
[11:57:56]: --- Step: xcversion ---
[11:57:56]: -----------------------
[11:57:56]: Setting Xcode version to /Applications/Xcode_10.1.app for all build steps
[11:57:56]: Driving the lane 'ios build_sss_dev' 🚀
[11:57:56]: ---------------------------
[11:57:56]: --- Step: setup_jenkins ---
[11:57:56]: ---------------------------
+-----------------------------+---------------------------------------------------+
|                        Summary for Setup Jenkins Action                         |
+-----------------------------+---------------------------------------------------+
| force                       | true                                              |
| set_code_signing_identity   | false                                             |
| output_directory            | ./output                                          |
| derived_data_path           | ./derivedData                                     |
| result_bundle               | false                                             |
| unlock_keychain             | true                                              |
| add_keychain_to_search_list | replace                                           |
| set_default_keychain        | true                                              |
| keychain_path               | /Users/myTeam/Library/Keychains/login.keychain |
| keychain_password           | ********                                          |
+-----------------------------+---------------------------------------------------+
[11:57:56]: Unlocking keychain: "/Users/myTeam/Library/Keychains/login.keychain".
[11:57:56]: Unlocking keychain at path: /Users/myTeam/Library/Keychains/login.keychain-db
[11:57:56]: Set output directory path to: "/Users/myTeam/jenkins_workspace/workspace/sss/dev_ios/NATIVE_PROJECT/output".
[11:57:56]: Set derived data path to: "/Users/myTeam/jenkins_workspace/workspace/sss/dev_ios/NATIVE_PROJECT/derivedData".
[11:57:56]: ---------------------------------------------
[11:57:56]: --- Step: Switch to ios my_build_app lane ---
[11:57:56]: ---------------------------------------------
[11:57:56]: Cruising over to lane 'ios my_build_app' 🚖
[11:57:56]: -------------------
[11:57:56]: --- Step: match ---
[11:57:56]: -------------------
WARNING: You are running Ruby 2.3.7, which is nearing end-of-life.
The Google Cloud API clients work best on supported versions of Ruby. Consider upgrading to Ruby 2.4 or later.
See https://www.ruby-lang.org/en/downloads/branches/ for more info on the Ruby maintenance schedule.
To suppress this message, set the GOOGLE_CLOUD_SUPPRESS_RUBY_WARNINGS environment variable.
[11:57:56]: Successfully loaded '/Users/myTeam/jenkins_workspace/workspace/sss/dev_ios/NATIVE_PROJECT/fastlane/Matchfile' 📄
+---------+----------------------------------------------+
|      Detected Values from './fastlane/Matchfile'       |
+---------+----------------------------------------------+
| git_url | git@github.com:myTeamLab/certificates.git |
| type    | development                                  |
+---------+----------------------------------------------+
+----------------------------+----------------------------------------------+
|                         Summary for match 2.134.0                         |
+----------------------------+----------------------------------------------+
| type                       | development                                  |
| app_identifier             | ["my.team.appidentifier"]              |
| readonly                   | false                                        |
| generate_apple_certs       | false                                        |
| skip_provisioning_profiles | false                                        |
| username                   |<EMAIL_ADDRESS>                      |
| team_id                    | MYTEAMID                                   |
| storage_mode               | git                                          |
| git_url                    | git@github.com:myTeamLab/certificates.git |
| git_branch                 | master                                       |
| shallow_clone              | false                                        |
| clone_branch_directly      | false                                        |
| keychain_name              | login.keychain                               |
| force                      | false                                        |
| force_for_new_devices      | false                                        |
| skip_confirmation          | false                                        |
| skip_docs                  | false                                        |
| platform                   | ios                                          |
| verbose                    | false                                        |
+----------------------------+----------------------------------------------+
[11:57:56]: Cloning remote git repo...
[11:57:56]: If cloning the repo takes too long, you can use the clone_branch_directly option in match.
[11:58:00]: 🔓  Successfully decrypted certificates repo
[11:58:00]: Verifying that the certificate and profile are still valid on the Dev Portal...
Available session is not valid any more. Continuing with normal login.
[11:58:07]: Installing certificate...
+-------------------+--------------------------------------------+
|                     Installed Certificate                      |
+-------------------+--------------------------------------------+
| User ID           | MYUSERID                                 |
| Common Name       | iPhone Developer: Ilhwan Yoon (MYUSERNAME) |
| Organisation Unit | MYUSERUNIT                                 |
| Organisation      | myTeam, Inc.                            |
| Country           | KR                                         |
| Start Datetime    | 2019-01-09 05:49:50 UTC                    |
| End Datetime      | 2020-01-09 05:49:50 UTC                    |
+-------------------+--------------------------------------------+
[11:58:16]: Installing provisioning profile...
+---------------------+-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
|                                                                                Installed Provisioning Profile                                                                                |
+---------------------+-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
| Parameter           | Environment Variable                                      | Value                                                                                |
+---------------------+-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
| App Identifier      |                                                           | my.team.appidentifier                                                                                |
| Type                |                                                           | development                                                                                |
| Platform            |                                                           | ios                                                                                |
| Profile UUID        | sigh_my.team.appidentifier_development              | someuuid                                                                             |
| Profile Name        | sigh_my.team.appidentifier_development_profile-name | match Development my.team.appidentifier 123456789                                                         |
| Profile Path        | sigh_my.team.appidentifier_development_profile-path | /Users/myTeam/Library/MobileDevice/Provisioning Profiles/3d8ad220-2e05-46b9-b18d-a52dd0a668f4.mobileprovision |
| Development Team ID | sigh_my.team.appidentifier_development_team-id      | MYTEAMID                                                                                |
+---------------------+-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
[11:58:17]: All required keys, certificates and provisioning profiles are installed 🙌
[11:58:17]: Setting Provisioning Profile type to 'development'
[11:58:17]: -----------------------------------------------
[11:58:17]: --- Step: Switch to ios update_project lane ---
[11:58:17]: -----------------------------------------------
[11:58:17]: Cruising over to lane 'ios update_project' 🚖
[11:58:17]: -------------------------------
[11:58:17]: --- Step: build_number_icon ---
[11:58:17]: -------------------------------
[11:58:17]: $ find . -iname 'Icon-*'
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIcon.appiconset/Icon-iPad-152.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIcon.appiconset/Icon-iPad-76.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIcon.appiconset/Icon-iPhone-180.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIcon.appiconset/Icon-iPhone-120.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIcon.appiconset/Icon-iPad-167.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIconjpj.appiconset/Icon-120.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIconjpj.appiconset/Icon-76.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIconjpj.appiconset/Icon-1024.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIconjpj.appiconset/Icon-152.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIconjpj.appiconset/Icon-180.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIconjpj.appiconset/Icon-167.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIconsss.appiconset/Icon-120.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIconsss.appiconset/Icon-76.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIconsss.appiconset/Icon-1024.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIconsss.appiconset/Icon-152.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIconsss.appiconset/Icon-180.png
[11:58:17]: ▸ ./Unity-iPhone/Images.xcassets/AppIconsss.appiconset/Icon-167.png
[11:58:20]: ----------------------------
[11:58:20]: --- Step: set_info_plist ---
[11:58:20]: ----------------------------
[11:58:20]: Updated Info.plist .
[11:58:20]: -----------------------------------
[11:58:20]: --- Step: update_app_identifier ---
[11:58:20]: -----------------------------------
[11:58:20]: Updated Info.plist 💾.
[11:58:20]: -----------------------------------
[11:58:20]: --- Step: facebook_plist_hotfix ---
[11:58:20]: -----------------------------------
[11:58:20]: Updated Info.plist 💾.
[11:58:20]: {:match_type=>"development", :codesign_identity=>"iPhone Developer", :app_identifier=>"my.team.appidentifier", :release=>false, :app_name=>"Star Spins Slots", :project_name=>"Unity-iPhone", :app_icon=>"sss", :build_number=>"246", :configuration=>"Release", :export_method=>"development", :scheme=>"Unity-iPhone", :output_name=>"jenkins-sss-dev_ios-246.ipa", :app_base_url=>"https://jenkins-dl.myTeam.com/job/sss/job/dev_ios/246/artifact/NATIVE_PROJECT/output/", :build_env=>"dev", :server_base_url=>"https://myteam.url/api", :app_scheme=>"my.team.appidentifier", :adjust_env=>"sandbox", :adjust_app_token=>"sometoken", :adjust_app_secret=>"0", :adjust_info1=>"123456789", :adjust_info2=>"123456789", :adjust_info3=>"123456789", :adjust_info4=>"123456789", :adjust_universial=>"applinks:universial.url", :keychain_groups=>"mygroup", :fb_display_name=>"fbname", :fb_app_id=>"fbid", :onesignal_app_id=>"onesignalid"}
[11:58:20]: ------------------------------
[11:58:20]: --- Step: set_adjust_plist ---
[11:58:20]: ------------------------------
[11:58:20]: Updated Info.plist .
[11:58:20]: ----------------------------
[11:58:20]: --- Step: set_info_plist ---
[11:58:20]: ----------------------------
[11:58:20]: Updated Info.plist .
[11:58:20]: ----------------------------
[11:58:20]: --- Step: set_info_plist ---
[11:58:20]: ----------------------------
[11:58:20]: Updated Info.plist .
[11:58:20]: ----------------------------
[11:58:20]: --- Step: set_info_plist ---
[11:58:20]: ----------------------------
[11:58:20]: Updated Info.plist .
[11:58:20]: ----------------------------
[11:58:20]: --- Step: set_info_plist ---
[11:58:20]: ----------------------------
[11:58:20]: Updated Info.plist .
[11:58:20]: -------------------------------
[11:58:20]: --- Step: update_icon_files ---
[11:58:20]: -------------------------------
[11:58:20]: Updated Info.plist .
[11:58:20]: --------------------------
[11:58:20]: --- Step: update_plist ---
[11:58:20]: --------------------------
[11:58:20]: Updated Unity-iPhone/hybridtest.entitlements 💾.
[11:58:20]: --------------------------
[11:58:20]: --- Step: update_plist ---
[11:58:20]: --------------------------
[11:58:20]: Updated Unity-iPhone/hybridtest.entitlements 💾.
[11:58:20]: -----------------------------------------
[11:58:20]: --- Step: update_provisioning_profile ---
[11:58:20]: -----------------------------------------
<PBXNativeTarget name=OneSignalNotificationServiceExtension UUID=someuuid> attempted to initialize an object with an unknown UUID. someuuid for attribute: build_configuration_list. This can be the result of a merge and  the unknown UUID is being discarded.
[11:58:20]: Updated Unity-iPhone.xcodeproj 💾.
[11:58:20]: --------------------------------------------
[11:58:20]: --- Step: update_appicon_and_launchimage ---
[11:58:20]: --------------------------------------------
[11:58:20]: Updated Unity-iPhone.xcodeproj 💾.
[11:58:20]: Cruising back to lane 'ios my_build_app' 🚘
[11:58:20]: Set export options
[11:58:20]: ------------------------------------
[11:58:20]: --- Step: automatic_code_signing ---
[11:58:20]: ------------------------------------
+-----------------------+------------------------+
|       Summary for Automatic Codesigning        |
+-----------------------+------------------------+
| path                  | Unity-iPhone.xcodeproj |
| team_id               | MYTEAMID             |
| use_automatic_signing | false                  |
+-----------------------+------------------------+
[11:58:20]: Updating the Automatic Codesigning flag to disabled for the given project '/Users/myTeam/jenkins_workspace/workspace/sss/dev_ios/NATIVE_PROJECT/Unity-iPhone.xcodeproj/project.pbxproj'
[11:58:20]: Set Team id to: MYTEAMID for target: Unity-iPhone
[11:58:20]: Set Team id to: MYTEAMID for target: Unity-iPhone Tests
+------------------------------------+---------------------------------------------------------------------------------------------+
|                                                           Lane Context                                                           |
+------------------------------------+---------------------------------------------------------------------------------------------+
| DEFAULT_PLATFORM                   | ios                                                                                |
| PLATFORM_NAME                      | ios                                                                                |
| LANE_NAME                          | ios build_sss_dev                                                                           |
| ORIGINAL_DEFAULT_KEYCHAIN          | "/Users/myTeam/Library/Keychains/login.keychain-db"                                      |
| SIGH_PROFILE_TYPE                  | development                                                                                |
| MATCH_PROVISIONING_PROFILE_MAPPING | {"my.team.appidentifier"=>"match Development my.team.appidentifier<PHONE_NUMBER>"} |
+------------------------------------+---------------------------------------------------------------------------------------------+
+------+-----------------------------------+-------------+
|                    fastlane summary                    |
+------+-----------------------------------+-------------+
| Step | Action                            | Time (in s) |
+------+-----------------------------------+-------------+
| 1    | Verifying fastlane version        | 0           |
| 2    | default_platform                  | 0           |
| 3    | xcversion                         | 0           |
| 4    | setup_jenkins                     | 0           |
| 5    | Switch to ios my_build_app lane   | 0           |
| 6    | match                             | 20          |
| 7    | Switch to ios update_project lane | 0           |
| 8    | build_number_icon                 | 2           |
| 9    | set_info_plist                    | 0           |
| 10   | update_app_identifier             | 0           |
| 11   | facebook_plist_hotfix             | 0           |
| 12   | set_adjust_plist                  | 0           |
| 13   | set_info_plist                    | 0           |
| 14   | set_info_plist                    | 0           |
| 15   | set_info_plist                    | 0           |
| 16   | set_info_plist                    | 0           |
| 17   | update_icon_files                 | 0           |
| 18   | update_plist                      | 0           |
| 19   | update_plist                      | 0           |
| 20   | update_provisioning_profile       | 0           |
| 21   | update_appicon_and_launchimage    | 0           |
| 💥   | automatic_code_signing            | 0           |
+------+-----------------------------------+-------------+
[11:58:20]: fastlane finished with errors
Looking for related GitHub issues on fastlane/fastlane...
Found no similar issues. To create a new issue, please visit:
https://github.com/fastlane/fastlane/issues/new
Run fastlane env to append the fastlane environment to your issue
[11:58:21]: WARNING: fastlane requires your locale to be set to UTF-8. To learn more go to https://docs.fastlane.tools/getting-started/ios/setup/#set-up-environment-variables
/Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/actions/automatic_code_signing.rb:42:in block in run': [!] undefined method set_setting' for nil:NilClass (NoMethodError)
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/actions/automatic_code_signing.rb:30:in each' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/actions/automatic_code_signing.rb:30:in run'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/runner.rb:256:in block (2 levels) in execute_action' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/actions/actions_helper.rb:50:in execute_action'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/runner.rb:235:in block in execute_action' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/runner.rb:227:in chdir'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/runner.rb:227:in execute_action' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/runner.rb:157:in trigger_action_by_name'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/fast_file.rb:159:in method_missing' 	from Fastfile:185:in block (2 levels) in parsing_binding'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/lane.rb:33:in call' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/runner.rb:204:in try_switch_to_lane'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/runner.rb:146:in trigger_action_by_name' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/fast_file.rb:159:in method_missing'
from Fastfile:216:in block (2 levels) in parsing_binding' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/lane.rb:33:in call'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/runner.rb:49:in block in execute' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/runner.rb:45:in chdir'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/runner.rb:45:in execute' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/lane_manager.rb:56:in cruise_lane'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/command_line_handler.rb:36:in handle' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/commands_generator.rb:108:in block (2 levels) in run'
from /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in call' 	from /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in run'
from /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in run_active_command' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in run!'
from /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in run!' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/commands_generator.rb:349:in run'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/commands_generator.rb:41:in start' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.134.0/fastlane/lib/fastlane/cli_tools_distributor.rb:119:in take_off'
from /Users/myTeam/.fastlane/bin/fastlane:23:in `'

Environment

🚫 fastlane environment 🚫
Stack

Key
Value

OS
10.14.6

Ruby
2.3.7

Bundler?
false

Git
git version 2.17.2 (Apple Git-113)

Installation Source
~/.fastlane/bin/fastlane

Host
Mac OS X 10.14.6 (18G103)

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

OpenSSL Version
LibreSSL 2.6.5

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

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

Xcode Version
10.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://docs.fastlane.tools/actions
# 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 "2.95.0"

default_platform :ios

xcversion(version: '10.1')
#xcversion(version: '8.3.3')

platform :ios do
  before_all do
    # Change path to generate output data
    setup_jenkins(
      force: true,
      set_code_signing_identity: false,
      output_directory: './output',
      derived_data_path: './derivedData',
      result_bundle: false
    )
  end

  private_lane :update_project do |options|
    # This part is done only when the app is not for the "production" environment
    if not options[:release]
      # Add the build number to the icon
      build_number_icon
    end

    # Update the app name
    set_info_plist(
      plist_path: "Info.plist",
      key: "CFBundleDisplayName",
      value: options[:app_name]
    )

    # Update the app identifier
    update_app_identifier(
      xcodeproj: "#{options[:project_name]}.xcodeproj",
      # plist_path: "#{options[:project_name]}/Info.plist",
      plist_path: "Info.plist",
    app_identifier: options[:app_identifier]
    )

    # make build numbers
    # build_number = get_build_number().to_i + options[:build_number].to_i

    # # Version bump
    # increment_build_number(
    #   build_number: build_number
    # )

    # a = build_number/10000000
    # b = (build_number/100000)%100
    # c = build_number%100000

    # version_number =  a.to_s + "." + b.to_s + "." + c.to_s

    # increment_version_number(
    #     version_number: version_number
    # )

    # Add CFBundleURLTypes for FacebookSDK. Dumb Unity deletes this field when generating project in append mode.
    facebook_plist_hotfix(
      fb_display_name: options[:fb_display_name],
      fb_app_id: options[:fb_app_id],
      app_scheme: options[:app_scheme],
      plist_path: "Info.plist"
      #scheme: options[:scheme]
    )
    UI.message(options)
    # Set adjust variables
    set_adjust_plist(
        adjust_env: options[:adjust_env],
        adjust_app_token: options[:adjust_app_token],
        adjust_app_secret: options[:adjust_app_secret],
        adjust_info1: options[:adjust_info1],
        adjust_info2: options[:adjust_info2],
        adjust_info3: options[:adjust_info3],
        adjust_info4: options[:adjust_info4],
        plist_path: "Info.plist"
    )

    # Add ServerBaseUrl to Info.plist
    set_info_plist(
      plist_path: "Info.plist",
      key: "ServerBaseUrl",
      value: options[:server_base_url]
    )

    # Add ServerBaseUrl to Info.plist
    set_info_plist(
      plist_path: "Info.plist",
      key: "build_env",
      value: options[:build_env]
    )

    set_info_plist(
      plist_path: "Info.plist",
      key: "onesignal_app_id",
      value: options[:onesignal_app_id]
    )

    set_info_plist(
        plist_path: "Info.plist",
        key: "UnityCloudProjectID",
        value: "5ed0b10a-4cae-4675-947c-b40fd9f186ce"
    )

    update_icon_files(
      plist_path: "Info.plist",
      icon_name_suffix: options[:app_icon]
    )

	update_plist(
		plist_path: "Unity-iPhone/hybridtest.entitlements",
		block: proc do |plist|
			urlScheme = plist["com.apple.developer.associated-domains"]
			urlScheme.clear
			urlScheme.push(options[:adjust_universial])
		  end
	)

	update_plist(
		plist_path: "Unity-iPhone/hybridtest.entitlements",
		block: proc do |plist|
			urlScheme = plist["keychain-access-groups"]
			urlScheme.clear
			urlScheme.push("$(AppIdentifierPrefix)" + options[:keychain_groups])
		  end
	)

    # Dumb Unity deletes this field when generating project in append mode.
    # TBD: different behaviour for Unity?
    # https://docs.fastlane.tools/codesigning/xcode-project/
    update_provisioning_profile(
      xcodeproj: "#{options[:project_name]}.xcodeproj",
      plist_path: "Info.plist",
      provisiong_profile: "$(sigh_#{options[:app_identifier]}_#{options[:match_type]})",
      provisiong_profile_specifier: "$(sigh_#{options[:app_identifier]}_#{options[:match_type]}_profile-name)",
      codesign_identity: options[:codesign_identity]
    )

    update_appicon_and_launchimage(
        xcodeproj: "#{options[:project_name]}.xcodeproj",
        plist_path: "Info.plist",
        appicon_name: "AppIcon#{options[:app_icon]}"
    )
  end

  private_lane :my_build_app do |options|
    # Load & select a certificate to sign with
    match(
      type: options[:match_type],
      app_identifier: options[:app_identifier],
    )

    # Update project file
    update_project(options)

    # Build the app
    exportOptions = nil
    if options[:app_base_url] and options[:output_name]
      UI.message "Set export options"
      exportOptions = {
        method: "ad-hoc",
        manifest: {
          appURL: "#{options[:app_base_url]}#{options[:output_name]}",
          displayImageURL: "http://cdn.bagelgames.com/icon.png",
          fullSizeImageURL: "http://cdn.bagelgames.com/icon.png"
        }
      }
    end

    disable_automatic_code_signing(
      path: "#{options[:project_name]}.xcodeproj",
      team_id: CredentialsManager::AppfileConfig.try_fetch_value(:team_id)
    )

    # ENV['ICON_SET_SUFFIX'] = options[:app_icon]

    gym(
      scheme: "#{options[:scheme]}",
      workspace: "Unity-iPhone.xcworkspace",
      configuration: options[:configuration],
      export_method: options[:export_method],
      output_name: options[:output_name],
      export_options: exportOptions
    )
  end

  #########################
  ### SSS
  #########################

  # Build and publish the Release version to Hockeyapp
  lane :build_sss_dev do |options|
    target_app_identifier = "com.gamesyssocial.starspins"
    # target_build_version = get_version_number()
    # target_build_number = next_testflight_build_number(
    #   app_identifier: target_app_identifier,
    #   version: target_build_version
    # )

    # Build
    my_build_app(
      # Certificate type
      match_type: "development",
      codesign_identity: "iPhone Developer",
      # Set the app id
      app_identifier: target_app_identifier,
      # Not a production release, so add build number to the icons
      release: false,
      # Change the app name
      app_name: "Star Spins Slots",
      # the projectname, this is the name of the .xcodeproj file and the folder containing your code in the project
      project_name: "Unity-iPhone",
      # ICON_SET_SUFFIX
      app_icon: 'sss',
      # the build number to use, we use the build number from Jenkins
      build_number: ENV['BUILD_NUMBER'],
      # What configuration to use, usefull for keeping different API keys etc between environments
      configuration: "Release",
      # Export an enterprise app
      export_method: "development",
      # the scheme to build
      scheme: "Unity-iPhone",
      output_name: ENV['OUTPUT_NAME'],
      app_base_url: ENV['ADHOC_BASE_URL'],
      build_env: "dev",
      server_base_url: "https://logic.sss-dev.bagelgames.com:20001/api",
      app_scheme: "com.gamesyssocial.starspins",
      adjust_env: "sandbox",
      adjust_app_token: "p8ss109pgs8w",
      adjust_app_secret: "1",
      adjust_info1: "1502575496",
      adjust_info2: "3469484",
      adjust_info3: "276393442",
	  adjust_info4: "1674070895",
	  adjust_universial: "applinks:gqyg.adj.st",
	  keychain_groups: "slots",
      fb_display_name: "Star Spins Slots - Dev",
      fb_app_id: "895029313874856",
      onesignal_app_id: "9fbaa693-ba5c-4ae8-aa75-d679e7438eb6"
    )

    # pilot(
    #   app_identifier: target_app_identifier,
    #   skip_waiting_for_build_processing: true
    # )

    # build = wait_for_build(
    #   app_identifier: target_app_identifier,
    #   version: target_build_version,
    #   version_number: target_build_number
    # )
    # UI.message "wait_for_build returned:"
    # UI.message build
    # build.update_build_information!(whats_new: options[:changelog]) if build != nil
  end

  lane :build_sss_st do |options|
    target_app_identifier = "com.gamesyssocial.starspins"
    # target_build_version = get_version_number()
    # target_build_number = next_testflight_build_number(
    #   app_identifier: target_app_identifier,
    #   version: target_build_version
    # )

    # Build
    my_build_app(
      # Certificate type
      match_type: "adhoc",
      codesign_identity: "iPhone Distribution",
      # Set the app id
      app_identifier: target_app_identifier,
      # Not a production release, so add build number to the icons
      release: true,
      # Change the app name
      app_name: "Star Spins Slots",
      # the projectname, this is the name of the .xcodeproj file and the folder containing your code in the project
      project_name: "Unity-iPhone",
      # ICON_SET_SUFFIX
      app_icon: 'sss',
      # the build number to use, we use the build number from Jenkins
      build_number: ENV['BUILD_NUMBER'],
      # What configuration to use, usefull for keeping different API keys etc between environments
      configuration: "Release",
      # Export an enterprise app
      export_method: "ad-hoc",
      # the scheme to build
      scheme: "Unity-iPhone",
      output_name: ENV['OUTPUT_NAME'],
      app_base_url: ENV['ADHOC_BASE_URL'],
      build_env: "st",
      server_base_url: "https://logic.sss-st.bagelgames.com:20001/api",
      app_scheme: "com.gamesyssocial.starspins",
      adjust_env: "sandbox",
      adjust_app_token: "p8ss109pgs8w",
      adjust_app_secret: "1",
      adjust_info1: "1502575496",
      adjust_info2: "3469484",
      adjust_info3: "276393442",
	    adjust_info4: "1674070895",
	    adjust_universial: "applinks:gqyg.adj.st",
  	  keychain_groups: "slots",
      fb_display_name: "Star Spins Slots - Staging",
      fb_app_id: "917351758309278",
      onesignal_app_id: "10973840-2130-4982-b8bc-24e7d7d49e68"
    )

    # pilot(
    #   app_identifier: target_app_identifier,
    #   skip_waiting_for_build_processing: true
    # )

    # build = wait_for_build(
    #   app_identifier: target_app_identifier,
    #   version: target_build_version,
    #   version_number: target_build_number
    # )
    # UI.message "wait_for_build returned:"
    # UI.message build
    # build.update_build_information!(whats_new: options[:changelog]) if build != nil
  end

  lane :build_sss_prod do |options|
    target_app_identifier = "com.gamesyssocial.starspins"
    # target_build_version = get_version_number()
    # target_build_number = next_testflight_build_number(
    #   app_identifier: target_app_identifier,
    #   version: target_build_version
    # )

    # Build
    my_build_app(
      # Certificate type
      match_type: "appstore",
      codesign_identity: "iPhone Distribution",
      # Set the app id
      app_identifier: target_app_identifier,
      # Not a production release, so add build number to the icons
      release: true,
      # Change the app name
      app_name: "Star Spins Slots",
      # the projectname, this is the name of the .xcodeproj file and the folder containing your code in the project
      project_name: "Unity-iPhone",
      # ICON_SET_SUFFIX
      app_icon: 'sss',
      # the build number to use, we use the build number from Jenkins
      build_number: ENV['BUILD_NUMBER'],
      # What configuration to use, usefull for keeping different API keys etc between environments
      configuration: "Release",
      # Export an enterprise app
      export_method: "app-store",
      # the scheme to build
      scheme: "Unity-iPhone",
      output_name: ENV['OUTPUT_NAME'],
      app_base_url: ENV['ADHOC_BASE_URL'],
      build_env: "prod",
      server_base_url: "https://logic.sss-prod.bagelgames.com:20001/api",
      app_scheme: "com.gamesyssocial.starspins",
      adjust_env: "prod",
      adjust_app_token: "p8ss109pgs8w",
      adjust_app_secret: "1",
      adjust_info1: "1502575496",
      adjust_info2: "3469484",
      adjust_info3: "276393442",
	  adjust_info4: "1674070895",
	  adjust_universial: "applinks:gqyg.adj.st",
	  keychain_groups: "slots",
      fb_display_name: "Star Spins Slots",
      fb_app_id: "895021173875670",
      onesignal_app_id: "083d2a17-16bf-4587-87d1-18b341c21c44"
    )

    pilot(
      app_identifier: target_app_identifier,
      skip_waiting_for_build_processing: true
    )

    # build = wait_for_build(
    #   app_identifier: target_app_identifier,
    #   version: target_build_version,
    #   version_number: target_build_number
    # )
    # UI.message "wait_for_build returned:"
    # UI.message build
    # build.update_build_information!(whats_new: options[:changelog]) if build != nil
  end

  #########################
  ### JPJ
  #########################

# Build and publish the Release version to Hockeyapp
  lane :build_jpj_dev do |options|
    target_app_identifier = "com.gamesyssocial.jackpotjoy"
    # target_build_version = get_version_number()
    # target_build_number = next_testflight_build_number(
    #   app_identifier: target_app_identifier,
    #   version: target_build_version
    # )

    # Build
    my_build_app(
      # Certificate type
      match_type: "development",
      codesign_identity: "iPhone Developer",
      # Set the app id
      app_identifier: target_app_identifier,
      # Not a production release, so add build number to the icons
      release: false,
      # Change the app name
      app_name: "Jackpotjoy Slots QA",
      # the projectname, this is the name of the .xcodeproj file and the folder containing your code in the project
      project_name: "Unity-iPhone",
      # ICON_SET_SUFFIX
      app_icon: 'jpj',
      # the build number to use, we use the build number from Jenkins
      build_number: ENV['BUILD_NUMBER'],
      # What configuration to use, usefull for keeping different API keys etc between environments
      configuration: "Release",
      # Export an enterprise app
      export_method: "development",
      # the scheme to build
      scheme: "Unity-iPhone",
      output_name: ENV['OUTPUT_NAME'],
      app_base_url: ENV['ADHOC_BASE_URL'],
      build_env: "dev",
      server_base_url: "https://logic.jpj-dev.bagelgames.com:20001/api",
      app_scheme: "com.gamesyssocial.jackpotjoy",
      adjust_env: "sandbox",
      adjust_app_token: "gmzy2jmoc64g",
      adjust_app_secret: "1",
      adjust_info1: "689553321",
      adjust_info2: "2044647958",
      adjust_info3: "2107599423",
	  adjust_info4: "188913681",
	  adjust_universial: "applinks:25rh.adj.st",
	  keychain_groups: "com.gamesyssocial.jackpotjoy",
      fb_display_name: "Slots O' Fun - Dev",
      fb_app_id: "204099279623449",
      onesignal_app_id: "5c098803-d2f4-4372-95c9-5c6a886702dd"
    )

    # pilot(
    #   app_identifier: target_app_identifier,
    #   skip_waiting_for_build_processing: true
    # )

    # build = wait_for_build(
    #   app_identifier: target_app_identifier,
    #   version: target_build_version,
    #   version_number: target_build_number
    # )
    # UI.message "wait_for_build returned:"
    # UI.message build
    # build.update_build_information!(whats_new: options[:changelog]) if build != nil
  end

  lane :build_jpj_st do |options|
    target_app_identifier = "com.gamesyssocial.jackpotjoy"
    # target_build_version = get_version_number()
    # target_build_number = next_testflight_build_number(
    #   app_identifier: target_app_identifier,
    #   version: target_build_version
    # )

    # Build
    my_build_app(
      # Certificate type
      match_type: "adhoc",
      codesign_identity: "iPhone Distribution",
      # Set the app id
      app_identifier: target_app_identifier,
      # Not a production release, so add build number to the icons
      release: true,
      # Change the app name
      app_name: "Jackpotjoy Slots HD: Vegas Fun",
      # the projectname, this is the name of the .xcodeproj file and the folder containing your code in the project
      project_name: "Unity-iPhone",
      # ICON_SET_SUFFIX
      app_icon: 'jpj',
      # the build number to use, we use the build number from Jenkins
      build_number: ENV['BUILD_NUMBER'],
      # What configuration to use, usefull for keeping different API keys etc between environments
      configuration: "Release",
      # Export an enterprise app
      export_method: "ad-hoc",
      # the scheme to build
      scheme: "Unity-iPhone",
      output_name: ENV['OUTPUT_NAME'],
      app_base_url: ENV['ADHOC_BASE_URL'],
      build_env: "st",
      server_base_url: "https://logic.jpj-st.bagelgames.com:20001/api",
      app_scheme: "com.gamesyssocial.jackpotjoy",
      adjust_env: "sandbox",
      adjust_app_token: "gmzy2jmoc64g",
      adjust_app_secret: "1",
      adjust_info1: "689553321",
      adjust_info2: "2044647958",
      adjust_info3: "2107599423",
	    adjust_info4: "188913681",
	    adjust_universial: "applinks:25rh.adj.st",
  	  keychain_groups: "com.gamesyssocial.jackpotjoy",
      fb_display_name: "Jackpotjoy Slots STAGING",
      fb_app_id: "158532754211782",
      onesignal_app_id: "83405397-eef3-46b4-868e-e5832eb018ea"
    )

    # pilot(
    #   app_identifier: target_app_identifier,
    #   skip_waiting_for_build_processing: true
    # )

    # build = wait_for_build(
    #   app_identifier: target_app_identifier,
    #   version: target_build_version,
    #   version_number: target_build_number
    # )
    # UI.message "wait_for_build returned:"
    # UI.message build
    # build.update_build_information!(whats_new: options[:changelog]) if build != nil
  end

  lane :build_jpj_prod do |options|
    target_app_identifier = "com.gamesyssocial.jackpotjoy"
    # target_build_version = get_version_number()
    # target_build_number = next_testflight_build_number(
    #   app_identifier: target_app_identifier,
    #   version: target_build_version
    # )

    # Build
    my_build_app(
      # Certificate type
      match_type: "appstore",
      codesign_identity: "iPhone Distribution",
      # Set the app id
      app_identifier: target_app_identifier,
      # Not a production release, so add build number to the icons
      release: true,
      # Change the app name
      app_name: "Jackpotjoy Slots HD: Vegas Fun",
      # the projectname, this is the name of the .xcodeproj file and the folder containing your code in the project
      project_name: "Unity-iPhone",
      # ICON_SET_SUFFIX
      app_icon: 'jpj',
      # the build number to use, we use the build number from Jenkins
      build_number: ENV['BUILD_NUMBER'],
      # What configuration to use, usefull for keeping different API keys etc between environments
      configuration: "Release",
      # Export an enterprise app
      export_method: "app-store",
      # the scheme to build
      scheme: "Unity-iPhone",
      output_name: ENV['OUTPUT_NAME'],
      app_base_url: ENV['ADHOC_BASE_URL'],
      build_env: "prod",
      server_base_url: "https://logic.jpj-prod.bagelgames.com:20001/api",
      app_scheme: "com.gamesyssocial.jackpotjoy",
      adjust_env: "prod",
      adjust_app_token: "gmzy2jmoc64g",
      adjust_app_secret: "1",
      adjust_info1: "689553321",
      adjust_info2: "2044647958",
      adjust_info3: "2107599423",
	  adjust_info4: "188913681",
	  adjust_universial: "applinks:25rh.adj.st",
	  keychain_groups: "com.gamesyssocial.jackpotjoy",
      fb_display_name: "Jackpotjoy Slots",
      fb_app_id: "184983254880891",
      onesignal_app_id: "384fd029-bd50-499a-8f60-e7ce916047e6"
    )

    pilot(
      app_identifier: target_app_identifier,
      skip_waiting_for_build_processing: true
    )

    # build = wait_for_build(
    #   app_identifier: target_app_identifier,
    #   version: target_build_version,
    #   version_number: target_build_number
    # )
    # UI.message "wait_for_build returned:"
    # UI.message build
    # build.update_build_information!(whats_new: options[:changelog]) if build != nil
  end

  lane :helloworld do |options|
    UI.message "Hybrid_qa_#{ENV['BUILD_NUMBER']}.ipa"
  end

  lane :get_latest_testflight_build_number do |options|
    versionNumber=get_version_number()
    UI.message "Version number is #{versionNumber}"

    latestBuildNumber = latest_testflight_build_number(
      app_identifier: "com.bagelcode.hybridtest",
      version: versionNumber
    )
    UI.message "Latest version is #{latestBuildNumber}"
  end

  lane :get_next_testflight_build_number do |options|
    versionNumber=get_version_number()
    UI.message "Version number is #{versionNumber}"

    nextBuildNumber = next_testflight_build_number(
      app_identifier: "com.bagelcode.hybridtest",
      version: versionNumber
    )
    UI.message "Next version is #{nextBuildNumber}"
  end

  lane :get_wait_for_build do |options|
    build = wait_for_build(
      app_identifier: "com.bagelcode.hybridtest",
      version: '22.1.3',
      version_number: 2
    )
    UI.message "wait_for_build returned:"
    UI.message build
  end

  desc "test"
  lane :iamge do

    update_appicon_and_launchimage(
        xcodeproj: "Unity-iPhone.xcodeproj",
        plist_path: "Info.plist",
        appicon_name: "AppIcon#{options[:app_icon]}"
    )

  end

  desc "Hotfix Unity bug: modify Info.plist (CBFundleURLTypes for FacebookSDK)"
  lane :hotfix do
    facebook_plist_hotfix(
      plist_path: "Info.plist"
    )
  end

  desc "Test for Update entitlement"
  lane :test_entitlement do

	update_plist(
		plist_path: "Unity-iPhone/hybridtest.entitlements",
		block: proc do |plist|
			urlScheme = plist["com.apple.developer.associated-domains"]
			urlScheme.clear
			urlScheme.push("Test")
		  end
	)

  end

  desc "Test for get set version"
  lane :test_version do
    buildnumber = get_build_number(xcodeproj: "Unity-iPhone.xcodeproj")
    UI.message buildnumber
    buildnumber = increment_build_number(
        build_number: 50.to_s
    )
    UI.message buildnumber
    versionNumber = get_version_number(xcodeproj: "Unity-iPhone.xcodeproj")
    UI.message versionNumber
    versionNumber = increment_version_number(
        version_number: "1.1.1"
    )
    UI.message versionNumber

  end

  desc "Runs all the tests"
  lane :test do
    scan
  end

  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://docs.fastlane.tools/actions

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

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

team_id "EQSL82W24G"  # 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.134.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.0

slack-notifier
2.3.2

atomos
0.1.3

CFPropertyList
3.0.0

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.6

xcodeproj
1.8.2

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.5.0

terminal-table
1.8.0

plist
3.5.0

multipart-post
2.0.0

word_wrap
1.0.0

public_suffix
2.0.5

tty-screen
0.6.5

tty-cursor
0.6.1

tty-spinner
0.9.0

babosa
1.0.2

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

excon
0.62.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20180417

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

faraday
0.17.0

faraday_middleware
0.13.1

fastimage
2.1.5

gh_inspector
1.1.3

mini_magick
4.9.5

multi_xml
0.6.0

rubyzip
1.3.0

security
0.1.3

xcpretty-travis-formatter
1.0.0

dotenv
2.7.2

bundler
2.0.1

naturally
2.2.0

simctl
1.6.5

jwt
2.1.0

uber
0.1.0

declarative
0.0.10

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.2

mime-types-data
3.2019.0331

mime-types
3.2.2

multi_json
1.13.1

signet
0.11.0

memoist
0.16.0

os
1.0.0

googleauth
0.6.7

httpclient
2.8.3

google-api-client
0.23.9

google-cloud-env
1.0.5

google-cloud-core
1.3.0

digest-crc
0.4.1

google-cloud-storage
1.16.0

emoji_regex
1.0.1

json
2.2.0

io-console
0.4.5

libxml-ruby
2.9.0

addressable
2.6.0

psych
<IP_ADDRESS>

generated on: 2019-11-05

OK, finally I found that it's not because of Fastlane settings. There is some issue about 3rd parties with the Bitcode options. So I passed 'compileBitcode: false' options to the gym and it works.


Sublime theme support

It would be great if alacritty would support customisable colour themes.
bat uses Sublime themes (*.tmTheme):

https://github.com/sharkdp/bat#adding-new-themes
https://www.sublimetext.com/docs/3/color_schemes_tmtheme.html

If alacritty would support the same theme format, I could use the exact same theme in both and everything would always be readable and consistent. :)

We want our configuration to be simple and portable, and the most important, simple and readable for humans. So using xml for our config is not an option (and also creating multiple themes). Oh, and why should we even consider a format of some proprietary app? I could same let's use simplified .vim and it will sound to me like your proposal.

I could say let's use simplified .vim and it will sound to me like your proposal.

Nice idea. That format could then also be used in the shell, the prompt and the pager. The important part is that there is one format that I can use in all of them to make them look well together.

P.s. And I'm completely ignoring the fact, that this format doesn't even map to terminal emulators.

It defines a bunch of colours for things that I would think could be mapped to things a terminal emulator would use.

Nice idea. That format could then also be used in the shell, the prompt and the pager. The important part is that there is one format that I can use in all of them to make them look well together.

This was a joke and it's a terrible idea.

It defines a bunch of colours for things that I would think could be mapped to things a terminal emulator would use.

It defines a bunch of colors for things that a suitable for text editors, so at this point you're just suggesting to use xml for colorschemes instead of yml, which is not an option, since we're using yml for a very long time.

That format could then also be used in the shell, the prompt and the pager.

No, it's not. Terminal emulator defines the colors for all the thing you've mentioned. So changing colors in alacritty, affects every app (unless they are using truecolor).
You're probably understanding the coloring a bit wrong, since it's not like in GUI's. We're just rendering whatever thing was requested. So if app requested a color #00ff00, we're rendering it without any changes (truecolor mode). However there're also indexed colors(1-256 iirc), for which colors are provided by user (colors section in a config). This user defined usually called a colorscheme (you can change all of them with escape sequences during runtime though).

Most things have been said by @kchibisov already, though there are applications like terminal.sexy that support converting between different colorschemes.
There's absolutely no reason for Alacritty to read different formats, instead they should be converted to what Alacritty understands. One might be able to make an argument for .XResources, but even that is already more work than what it's worth.


EE form: Add ? to upstream name

https://issues.redhat.com/browse/AAH-1111
Execution Environment add/edit form:
the "Upstream name" field needs a help popup, mentioning the foo/bar format, and "library/" for the rest.
Proposed Solution: Ask Docs people how to word the explanation. Add ? with explanation. See Users form and password field for reference.

Note - the Upstream Name seems to be available only in Add mode, not edit mode. Is this alright? This contradicts the Issue description, where it mentions Add/Edit mode.

Cc @cbudz
We're adding a help tooltip to advise the users on the naming format of execution environments pulled from other registries (see image above ^)
I proposed "Use the namespace/name format for namespaced containers, library/ name otherwise." ... does that make sense? Should we change the message in any way? :)
Thanks

Ohh, sorry to hear that @cbudz , thanks for the update and good luck! :)

I think "Use the namespace/name format for namespaced containers. Otherwise, use the library/name format." sounds better but I've asked for one of our writers to double check this.

Thank you both! :) @MilanPospisil can you update the message accordingly please :)


wrong "Results" summary for "fork:=true"

Hi! I just created an empty project, copy-pasted a demo Test, but I'm getting a wrong "Results" summary.
Code:
package net.pointsgame.debug

import utest._

object MyTest extends TestSuite {
    val tests = TestSuite {

        'fakeTest {
            assert(1 == 1)
        }

    }
}

Console output:
[info] 1/2     net.pointsgame.debug.MyTest.fakeTest     Success
[info] 2/2     net.pointsgame.debug.MyTest      Success
[info] -----------------------------------Results-----------------------------------
[info]
[info] Tests: 0
[info] Passed: 0
[info] Failed: 0
[success] Total time: 5 s, completed Jun 12, 2014 3:12:29 AM

Were there any recent changes that may have broken the "Results" summary?

I just ran into this, any ideas?

I ran into this too. Haven't had a chance to dig into it

Have the same problem

What I found out is: SBT creates two instances of MasterRunner. Then calls 'tasks' on one and 'done' on the other.

Should be fixed by https://github.com/lihaoyi/utest/commit/46c3b05e9ab70fb0e048dd11d99672050709d373


Document for adding plugin

Hi team,
Is there anyone can share more details or examples how plugins are registered to init.py? Especially for new exporters.

oh it is a markdown formatting error, it should be __init__.py. You can just import the new exporter into that file.
As an example, for python exporter:
from lib.export.exporters.python_exporter import PythonExporter
ALL_PLUGIN_EXPORTERS = [
    PythonExporter(),
]

Thanks @czgu . Just figured it out after looking into the code and tried a few times last week. It worth giving more examples for different plugins in the documents as the way to register is very different for each type of plugin. Like ResultStore is different from Exporter.
However, it's a very great design to support plugins!

Thanks for the feedback! I have since updated the documentation for exporter https://www.querybook.org/docs/integrations/add_exporter, will keep in mind in future when updating other plugins documentations.


Documentation for dx expressions?

Just wondering if there is any documentation for the dx expressions? And if dx expressions are reactive?

https://github.com/ncform/ncform#dx-expression
These may be enough


Change graphql library to use Strawberry and fix memory leak with large numbers subscription

This PR includes the following major changes:

We have changed the graphql library from Tartiflette to Strawberry.
We have also fixed a memory leak within Coniql which occurs with many subscriptions (~200) to PVs updating at 10Hz. This was found when running performance tests stressing the application. This was due to Coniql not processing the graphql results quickly enough and so an internal queue continued to grow leading to ever increasing memory and out-of-date PV values. To fix this I removed the queue and added a deque. This means that only the most recent value with be sent and if we fall behind we simply have to skip that update.

Other changes after a review of PR #39:

Remove the 'resolver' layer which was an implementation necessary for Tartiflette.
Remove creation of the 'context' and instead use a global value in the app.

Changes to tests:

Move the IOC required for the tests to conftest.py.
Add tests covering both websocket protocols (legacy and new).
Use a single running IOC for all tests so we don't have to build and tear down in between each test.

Thanks for looking at the dependencies to work with 3.7
In the future we do not need to maintain 3.7 compatibility, as we will not release this via the Diamond RHEL7 build server but deploy it in a container. So we can support any python version and move to stating a compatible range.
After this branch is merged we will apply this template https://github.com/diamondlightsource/python3-pip-skeleton which should enable e.g. testing against a matrix of verisons.

Thank you for the detailed review. I believe I have now addressed all of the issues. At this point I think the PR should be re-reviewed as there have been some significant changes.
I would also like some input on the attempt to parametrize some of the tests in commit https://github.com/dls-controls/coniql/pull/44/commits/83cd7e9405ea29786b1c4e3e55bda8c9dfba0538. It removes duplicate code but does add a level of complexity to the writing of tests if you don't understand how it works.

Thank you for the detailed review. I believe I have now addressed all of the issues. At this point I think the PR should be re-reviewed as there have been some significant changes. I would also like some input on the attempt to parametrize some of the tests in commit 83cd7e9. It removes duplicate code but does add a level of complexity to the writing of tests if you don't understand how it works.

Unfortunately I think that readability of the tests has been lost and I don't think that in its current form it is an improvement.
Can you avoid having all of the one-line fixtures async def client_get_nan_pv etc if you split test_get_pv into two test functions, one that calls query_schema and one that calls query_aio_httpclient? Then you would just need to parametrize the query and the result.
Also if parametrizing with async fixtures is complicated, can you consider making some of the input and functions not fixtures but regular data objects and functions? For example, if the functions client_get_int_pv etc. were not fixtures, you'd be able to pass the reference to the function into the test instead of having to use request.getfixturevalue. In my understanding, fixtures are beneficial when you want to reuse the same returned object; but when you're just using it as a regular function all the extra infrastructure doesn't seem to give a benefit.

Can you avoid having all of the one-line fixtures async def client_get_nan_pv etc if you split test_get_pv into two test functions, one that calls query_schema and one that calls query_aio_httpclient? Then you would just need to parametrize the query and the result.

Yes we could do this but then we will still essentially have a two sets of test, one for the schema and the other for the aiohttp client. I think maybe this is OK though. Trying to make generic functions to allow the parametrization combing these two seems to just make it more confusing. I agree that we could still use parametrization to write all of the 'get' and 'put' tests. I'm inclined to abandon test_schema_and_aiohttp.py and instead refactor test_caplugin.py and test_aiohttp.py this way?

I'm inclined to abandon test_schema_and_aiohttp.py and instead refactor test_caplugin.py and test_aiohttp.py this way?

This seems to me like a good middle ground

Regarding the test parameterization, I don't see why the one-line fixtures were created. They can just be regular functions and called dynamically in the test body. I can't see an advantage to declaring them as fixtures. The parameters can literally be the function reference which gets called in the test body.

The problem I ran into here was that I needed to parametrize the fixtures for the two versions (schema and aiohttp) as one takes the schema directly and the other creates an aiohttp_client. The latter has to be done in a fixture as is a feature of pytest-aiohttp.
In order to parametrize the fixtures I call them within the tests using the request.getfixturevalue(fixture_to_run). This should all be fine as then I can get my client or schema and pass them into other functions to make the queries and gather results.
The problem is that the fixture to create the aiohttp_client has to be async as we have to await the client creation and for some reason there is a problem using request.getfixturevalue(...) with an async fixture that then means that that test cannot be defined as async and so you cannot do any awaits in the test, which are necessary to submit queries and get the results. See similar reports of this issue: https://github.com/pytest-dev/pytest-asyncio/issues/112. I couldn't find or think of any other workaround. The only way I saw was to do all of the async work in the fixtures so that the test didn't need to be async, which is the reason for the one-line fixtures in this case.

I did have an issue running the tests. Multiple runs sometimes showed this error (sometimes in result2, sometimes in result4):

This occasional failure was coming from the subscription 'ticking' test. I have updated this now to make it more reliable including a wait to ensure we are connected to the websocket before trying to subscribe.

Also, even if all tests pass, I still see the "Task was destroyed but it is pending!" warning message printed 4 times. Is this intentional?  If not, it's an indicator that there's something wrong in task handling somewhere.

This was an interesting one. In some cases this was caused by the pytest event loop closing too early, which was fixed by using a new event loop for each 'module' (i.e. each set of tests).
There was another issue though in simplugin.py and test_coniql.py that used it where the simplugin tasks were only weakly referenced and so were being GC'ed too early. I introduced a set (task_references) to track these and clean up afterwards so that they are not GC'ed immediately.
With these two fixes I no longer see these warnings at the end of the tests.

@aawdls @AlexanderWells-diamond I think I have now finished addressing the second round of review comments. Please feel free to review again or provide feedback on my recent changes.
As a side note, I know we are moving away from the Pipenv installation process but I was able to get a fresh install working with it on Python 3.8. To do this I had to update the setuptools and wheel modules. I updated the Pipefile and Pipefile.lock so this might even now work for you?

I've finally pinpointed where these warnings are coming from and it looks like it's an issue in Strawberry. Essentially they create a task that does an asyncio.sleep for 60 seconds. The task then checks whether the connection_init message has been received from the client. If so then it simply returns and if not it closes the connection.
In the tests we create a subscription, gather the results and then close the connection and event loop in less than 60 secs. But this task is still running, sitting in the asyncio.sleep. It is this task the warning is about. When we run against a 'normal' client we do not have this problem as it is either open long enough for the 60 secs to elapse and complete the task, or we kill the Coniql application.
This 60 secs is strange to me. In testing I found that this connection_init message was received very quickly and so this 60 sec wait seems unnecessary. There are 2 ways to fix it in the Strawberry code:

Run a while loop checking the whether the connection_init message has been received with a short sleep in between and timeout if we do not receive it after 60 secs. This will cause the task to complete as soon as the connection_init message has been received instead of waiting the arbitrary 60 secs.
Add some clean up code when a subscription is closed that checks if this task is still running and cancels it if it is.

The second seems cleaner to me but I will have to approach the Strawberry collaboration to get this fixed so might just ask for their opinion.

Scrap those fixes. Turns out it's much simpler - we can configure the timeout ourselves so could override the 60 seconds. I'll look into that.

@AlexanderWells-diamond if you have a moment would you mind re-running the tests on your system with my latest changes to see if you still get any warnings? Thanks!

@AlexanderWells-diamond if you have a moment would you mind re-running the tests on your system with my latest changes to see if you still get any warnings? Thanks!

I've run the tests several times and see no warnings printed.
I'm always a little suspicious about hardcoding any form of timeout into tests. The machines that run the CI have proven to be very slow at times (especially the MacOS ones), which if I understand the changes means that any machine that takes longer than 2 seconds to connect will cause a test failure. I suppose we'll just have to keep an eye on the CI and adjust this timeout accordingly.

We send the connection_init message ourselves in the tests as soon as we have connected (see https://github.com/dls-controls/coniql/blob/ee1304c9115aa21cfd73f3c953d0ef2c9faff21a/tests/test_aiohttp.py#L116) so I would be surprised if we saw a timeout here, however something to keep in mind.
It would be nicer if the Strawberry code cleaned up properly so possibly something we could follow up with them at a later date?

Yes, it sounds like there may be something that could be done in Strawberry so should be raised with them.
Otherwise this all looks good.

This is now ready to be merged and will be deployed in pre-prod for further evaluation at scale.


Bug/profile props

The basic layout of the profile-section now displays correctly.
(Minor change to Main component in App.js and the Profile component)

Looks good. Great job :+1: :100:


typo: Double word "are"

@nschonni : Thanks for your contribution! The author, @genlin, has been notified to review your proposed change.

Merging typo fix.


Update README.md

Scan submitted to Checkmarx

Checkmarx SAST - Scan Summary & Details
Cx-SAST Summary
Total of 0 vulnerabilities
 0 High
 0 Medium
 0 Low
 0 Info
Violation Summary
No policy violation found


fix(plots): fixed different time types

:tada: This PR is included in version 1.1.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


NTUEEPLUS-33. finish registerfb appearance

What is this PR for?

create registerFB page
What type of PR is it?
[Bug Fix | Improvement | Feature | Documentation | Hot Fix | Refactoring]
feature
Todos

[ ] - link fb btn in registerEntry to it

What is the Jira issue?

https://ntueeplus.atlassian.net/browse/NTUEEPLUS-33
Screenshots (if appropriate)
add registerfb in sidebar:

registerFB page:

@featherchen  finish!!


undefined symbol: init_sqlite3_database

I built sqlite3 from source and built the gem with some options pointing to the libs, sqlite3.h file, and the sqlite3 binary. The gem built fine but when I require sqlite3 in irb I'm getting the following:
$ irb
irb(main):001:0> require 'sqlite3'
irb: symbol lookup error: /app/vendor/ruby-2.0.0/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.10/lib/sqlite3/sqlite3_native.so: undefined symbol: init_sqlite3_database

I'm curious if it's possible to build the gem w/ a non-default install of sqlite3?

Please provide more details on context, version of Ruby, version of sqlite3 was build against, compiler, version of Linux, steps used.
The more details you provide the easier will be to either reproduce or determine what is wrong.

Thanks for getting back Luis. I forgot to update this saying I fixed the problem. I was using the wrong flags during the gem install.
FWIW I used this build: https://github.com/stolt45/heroku-sqlite3 and these flags to do the install --with-sqlite3-dir=/app/heroku-sqlite3
I'm happy to provide any additional info if you see others running into similar things.


Arrow keys are not recognized by an Android device (Apple Bluetooth keyboard) when gomobile-build is used

It looks like the Code is 0 when pressing arrow keys of an Apple Bluetooth keyboard. I don't know how to fix this.


[docs] Fix links in docs

I visited the docs to see what this was about, the first link I clicked was broken.
I don't think any of the below are applicable for this simple change.

[ ] I added a CHANGELOG entry for this change.
[ ] I adjusted the corresponding documentation for this change.
[ ] I adjusted the values.yaml file and the documentation for all values.

Hi @Jonher937, thanks for fixing 🙂


Bug: Constants like ZERO and HALF_TURN should be available to use in the editor

Ah this seems to have resolved itself.


Is this project dead?

I see little activity, is this still an active project?
This is a very useful plugin, and I am concerned that maybe people moved somewhere else and I didn't find out.

alive

@pronix I know you  guys must be really busy, but there is a few PR queued that will be nice to have merged, at least the ones improving the documentation (#304 #305 #308 #309).
If you or @sciurus can take a look at them it will be nice.
I really appreciate that you are sharing all this hard work!
Thank you!

Hi @facastagnini , I started a new job recently; this has caused me to neglect vagrant-libvirt.
It is my intention to continue reviewing PRs and troubleshooting issues.

We all have busy live, believe me, I totally understand.
The thing is that I am working on a new project and I am using a lot of new tools, Every time I spend a couple hours working on some bug or incompatibility I try to submit a PR to share the code fix or improve the documentation, but sadly I submitted PR to several projects just to find that they where semi-abandoned.
For example I begin trying to implement vagrant-kvm, and just when I was realizing that the project was really outdated I found a message from the owner's thoughts about retiring the plugin in favor of vagrant-libvirt. (https://github.com/adrahon/vagrant-kvm/issues/276)
Therefore I started contributing here, since it is now more important to keep this project alive.
I am here to help, let me know if you need a hand with anything.


Add Example

Great idea, could you add a simple project example?

Hello, @sibelius,
I'm sorry for the long absence of answer. Actually I've been hanging up with Jest for some time.
I'm making a side project with it, and I'll rollout it a bit later. But for now I've managed to deal with it using Jest only :) So I'm suggesting to look at Jest and it's snapshots closely - they are really cool.


Fix hang when sending debug commands after Node program runs to completion

Issue #935
Bug
Run a node program to completion. We pause on the last line before exiting. Node is still running at this point. Running a debug command at this point (such as pause or remove breakpoint) can freeze VS since we never receive responses back from the Node debugger.
Fix
This change has two fixes:

Add an explicit timeout when removing breakpoints. We have an identical timeout when adding breakpoints so it probably makes sense to add this.
On our low level send calls, register the cancellation token to cancel the promise.

A better fix would be just to never send requests to node after we run to the last line, but it is not clear how we can detect this without a wrapper. The debug protocol does not seem to emit any events about this and Node is still running.


Detect quick worker restarts and fail queries immediately

When a worker restart, the engine may not notice the change and wait for work that will never complete.  An easy fix for this is to add the node instance id to task info and then the HttpRemoteTask would see the change and fail the task.
This issue is identified by having a task stuck in the RUNNING state with 0 splits assigned.  If there are multiple queries, they will all be stuck on the same node or nodes that rebooted.

Thanks for filing this issue.

:+1:


--no-verify-ssl option

s$ sh aws2tf.sh --no-verify-ssl
Usage: aws2tf.sh [-p ] [-c] [-v] [-r ] [-t ] [-h] [-d] [-s]
--no-verify-ssl is not a valid option

This is by design - The right approach I suggest is to include the appropriate Amazon and intermediate certificates into your environment.


Make event notifiers able to pass info to listeners

Let's normalize which event send what information.
ADD/DEL addr would be an in_addr/in6_addr (depending on IP version)
Route would need a bit more? Addr + prefix ?
Signed-off-by: Tomasz Bursztyka<EMAIL_ADDRESS>

BTW, could you also create unit test that tests this.

@jukkar yep that's the plan if the RFC is accepted as it is (i.e. if it's ok to propose it as a normal PR, not as an RFC, just a title change actually)

Well, up to the Kconfig option to fit the required size then. New event means new structure with a difference size, fine as long as the Kconfig option is properly set. (I could put a NET_ERR or assert actually in net_mgmt core that the notification info cannot fit into the data buffer).

We need to add more checks for the info size then, it is more likely than not that the info size will go wrong.
I just wonder if we could somehow "automate" the size calculation of the needed info buffer. I will need support for info buffer to pass information about neighbor + route additions/deletions and there the info size requirement is more than just one IPv6 address.

net_mgmt is not netlink, it should not be used as an ipc or aggregated nested data or else. We just don't have the luxury to do that, and it's anyway not the idea behind net_mgmt. It's really meant for net core, bare minimum notification and that's it. I guess we should enforce that in the documentation.

True, it is not netlink but it is still quite generic and someone will overuse it I am sure. But as you say we should document this better in the documentation.

The info buffer per listener is not possible with net_mgmt design: when the event is "notified" it's queued directly and has no knowledge of any listener. It's only when the notifier thread (internal to net_mgmt) runs that it goes through queued event and relate them to listeners relevantly. I made it like that for performance and logical purposes. (a listener might be added, right before the notifier thread gets to run for instance, etc..).
Thus why the info data is passed once from the notifier, and passed as const to the listener.

Yes, I noticed this. It would have solved all the info size calculation issues if we could have done one info buf per listener. One option could be to place the event multiple times into internal queue, copying the info buffer per listener (so one event / listener). As there typically are not many listeners in the system, it might not be that big issue resource usage wise.

Hum, queuing/copying per listener would be heavy in a way. Performance wise at least. Indeed, it would require 2+ listener on same events to start using too much memory, it's unlikely to happen in a way, but still possible.
The best idea, I think, would be to allocate event info on the same future mem pool (the one(s) introduced by ZEP-1835), so net mgmt event would pick necessary memory from net_buf's data mem pool. Such pool will be meant for numerous frames of variable size, and event info won't be super big I think, it's really meant for core event purpose, not dedicated info passing like a wifi scan (this in turn would work per-request, and the one raising request is the one providing memory to put the result in. A bit like what I did for 15.4 scanning)
Anyway, I'll add a size check when notifying.


Test multiple domain names in Nessie

#1720 included a manual test that multiple domain names work.  Add a Nessie test.  See #1769 for Docker features that may hinder, and how it might nonetheless be possible.  (It should still test host-based addressing, this is a subtle and important part of the feature!)

Important low, I am not aware of this in any large installation.


feat: add initial date formatting functions

feat: add initial date formatting functions

:hammer_and_wrench: Type Of Change

[ ] Fix
[x] Feature
[ ] Refactoring
[ ] Documentation

:book: Description
Added some initial date formatting functions:

getDateMedium which returns the date in medium format from our Writing Guidelines
callDurationToHumanReadable (currently in DP 2.0)
dateRelativeToNow (currently in DP 2.0)

The story was just to initially add this getDateMedium function, but I decided to include the functions that DP 2.0 wanted to transfer to dialtone as well so they have something that's actually useful to work with. All public functions here are fully i18n compatible and the locale must be set via setDateLocale before using any of these functions.
I've documented these functions well in the code so please see the comments for further details about how they work.
Documentation will be coming in a separate PR since I'd like to publish it on dialtone.
:bulb: Context
Requested by DP 2.0 team. They are having to put a lot of logic for date formatting into DP 2.0 when really this should be handled on the Dialtone side.
:pencil: Checklist

[x] I have reviewed my changes
[x] I have added tests
[ ] I have added all relevant documentation (not yet)
[x] I have considered the performance impact of my change
[x] I have checked that my change did not significantly increase bundle size
[x] I am exporting any new components or constants in the index.js in the component directory
[x] I am exporting any new components or constants in the index.js in the root

:crystal_ball: Next Steps

Write public documentation
Add more date functions
See if we can extract or use date functions from our current date picker.

:link: Sources

https://dialpad.design/guides/writing-guidelines/#formats-by-length
https://github.com/dialpad/web-clients/pull/613/files
https://github.com/dialpad/web-clients/blob/main/packages/conversation-feed-ui/src/use-relative-date-format.ts
https://date-fns.org/

Updated function names to be more generic as requested by Alex.


For missing font, use a local font if it exists even if there's no standard substitution

If the font foo is missing we just try lo load local(foo) and maybe we'll be lucky.

/botio test

Looking at the Windows bot, there's a few things that doesn't look like improvements:

firefox-issue9195-page1, there's no longer a bold font used.
firefox-issue1096-page1, firefox-non-embedded-NuptialScript-page1, firefox-issue6117-page6; no longer uses a serif-font (Adobe Reader renders these with serif-fonts).

Given some of the test "failures", should we perhaps pass in the font-flags to the getFontSubstitution-function such that we're able to better choose between serif and sans-serif fonts in the fallback?

Given some of the test "failures", should we perhaps pass in the font-flags to the getFontSubstitution-function such that we're able to better choose between serif and sans-serif fonts in the fallback?

Yep, the flags aren't available when getFontSubstitution is called but it's the idea. I'll push my update soon.

/botio browsertest

That looks better, however we still have some "problems" at least on the Windows bot:

firefox-issue9195-page1, some of the text still isn't bold as expected.
firefox-issue11915-page1, the Arial Italic font isn't working correctly (the font is named /Arial-ItalicMT,Italic).

About issue11915, I added the font in the standard font map and the "weird" aspect is because we've an italic monospace (because the font is detected as monospace).
The monospace flag is because of:
https://github.com/mozilla/pdf.js/blob/master/src/core/evaluator.js#L3961
and it's why in the last version of the patch I clear the bit if it's required.

/botio browsertest

/botio-windows browsertest

It seems that the ArialBlack has now regressed on Windows, see e.g. firefox-artofwar (many pages), firefox-issue5801-page1, and firefox-issue7835-page1.

/botio browsertest

/botio-windows browsertest

/botio makeref


[bug] ErrorScore should operate with tensors

The issue is some here:
https://github.com/uber/ludwig/blob/master/ludwig/modules/metric_modules.py#L97
Getting this with experimental_run_functions_eagerly(False)

Yes we are already working on this. @jimthompson5802 FYI this happens if experimental_run_functions_eagerly(False).

Acknowledging that I'm working on this.

@ifokeev would you mind testing out the current master after the merge of the PR that should solve this issue?

Closing for the time being. Let us know if the problem is still there and we can reopen it.


🐛 Incorrect Bech32 representation for script-based DReps

Area
Delegation Pillar
Domain
gov.tools
Which wallet were you using?
No response
Context

GovTool assumes all DReps read from chain are key-based, this is incorrect
Script-based DReps can be created via other tooling and then GovTool can read these from chain and show via the DRep directory
Script based DReps can be represented with a different bech32 encoding drep_script
Script-based DReps must be represented correctly at vote delegation time

this will have to change
https://github.com/IntersectMBO/govtool/blob/develop/govtool/frontend/src/context/wallet.tsx#L688C11-L688C75

this probably requires a change in BE API to flag Scripbased DReps as such

Steps to reproduce

look up a script DRep: https://gov.tools/drep_directory/drep1uk4nwfsm843kqr2kv4jg0yms46srr633pzc2d0vvaav25ncwj8g
see metadata

Actual behavior

DRep ID shown incorrectly in directory
Delegation is to the wrong DRep as keyHash is used instead of scriptHash

Expected behavior

DRep ID shown correct in directory with drep_sctipt1....
Delegation is to the correct DRep as using scriptHash here: https://github.com/IntersectMBO/govtool/blob/develop/govtool/frontend/src/context/wallet.tsx#L688C11-L688C75

Incorrect prefix is reported from the DB-Sync level

https://github.com/IntersectMBO/cardano-db-sync/issues/1848

a start
https://github.com/IntersectMBO/govtool/pull/1956

duplicate to https://github.com/IntersectMBO/govtool/issues/921

After the conversation with @Ryun1 today, we are putting P0 on this one.
@MSzalowski @jdyczka


Pickle rewrite - help needed

Bugs related to pickling are recurrent and annoys everybody; sometimes a bug causes crash of the interpreter which is completely unacceptable. I tried my best to track the problem(s) down, but I failed. Moreover, last year was tough for me (I was ill, then I bought and was renovating a flat, finally recent changes in ex-company had forced me to seek for a new job) and as a result I couldn't spend much time on side projects.
This project is pretty popular, and it would be great if somebody helped with a pickling algorithm. IMO the best option is to trash the current one and start over.

@WojciechMula I do not have any pickling bugs on the Python 2.7 build of 1.1.4 and this will thousands of users of scancode-toolkit on Linux, Windows and macOS.

Moreover, last year was tough for me (I was ill, then I bought and was renovating a flat, finally recent changes in ex-company had forced me to seek for a new job) and as a result I couldn't spend much time on side projects.

You owe none anything my friend! I hope you new job rocks!
That said, pickling is a not a great protocol. I would be quite happy with a custom binary format and protocol that eschews pickling entirely and have a similar purpose and effect. So do not be stuck on pickling

As an example https://github.com/RoaringBitmap/RoaringFormatSpec/ this is to store compressed bitmaps in C, Java and Go.

Another example of the eventually complexity of pickling here in pure Python for a trie structure: https://github.com/google/pygtrie/blob/master/pygtrie.py#L187 and https://github.com/google/pygtrie/blob/master/pygtrie.py#L261

So please by all mean let go of pickle if this can make your life simpler!

@pombredanne It's good to hear that you don't have any problems with pickling, but unfortunately there are some. I feel really uncomfortable that the module, which people like and use, doesn't work well and users waste precious time. Unless I resign, I am responsible for the module.
Speaking of pickle format, I think we must stick to python machinery as the module uses both C internal structures and python objects (i.e. values stored in the trie).

@WojciechMula your call with continuing to use pickle... but that not a feature IMHO.
The feature is IMHO reasonably fast writing and reading of an automaton to and from disk (and thinking of it, using your own format would mean it could be memory mapped in the future .... yummy)


Insufficient permissions, what file is the package accessing?

Hi,
I'm trying to use this package, but I get an error: libusb: bad access [code -3]
I checked here, http://libusb.sourceforge.net/api-1.0/group__misc.html#ggab2323aa0f04bc22038e7e1740b2f29efa131f3c2f6f2bb40bc6fb60ccb6f3152f
the libusb docs, and I see that this bad access means I have insufficient permissions. I can't seem to find the file that libusb is trying to access. Normally I've been working with either: /dev/usb/hiddev0 or /dev/bus/usb/001/0XX, and that's where the device is connecting to my machine, but relaxing the permissions in these directories/files doesn't change this error code.
The device Path is like this 05f3:00ff:01.02, which is the Vendor and Product numbers, (with two other bits I don't know are about), is this 'path' what I should be looking into?
I'm running Arch Linux.

@nitram509 @jsouthworth could any of you say something about it?
Btw which method did you call when you got the error?

I'm calling Open() on device info.

Also seeing this error also on write.   If I sudo myapp I get error 9.
I found infohttps://askubuntu.com/questions/978552/how-to-make-libusb-work-as-non-root which suggests error 3 is permission issue and after applying it I get same error as if running the app as root.
added usb with path 0e53:2517:01.05 as index:0, ID: 1
libusb: pipe error [code -9]