macOS build.rs fixes to align w ggerganov/llama.cpp@f3f6542

Thanks for your work establishing and maintaining these bindings!
Re: https://github.com/utilityai/llama-cpp-rs/pull/400#issuecomment-2253166089, these changes align Metal compilation with pattern established in the CUDA compilation code.
I also noticed what I think was a small typo in an environment variable being read to enable llama header location overrides. Happy to exclude that if I was mistaken!

thanks for the quick PR!

make a quick change to rebase relative to main, thanks for your quick feedback!


Add tamil strings

Fixes #134

[x] Run the unit tests with ./gradlew check to make sure you didn't break anything

[x] If you have multiple commits please combine them into one commit by squashing them.

@ashwinkey04 Since it is failing build checks so we need to close this PR.

Sure


updated #7. pure functional component info

Updated Q. 7 how we can implement pure component in functional components.

Thanks @naveenrawat51 for PR


Immediate propagation of a keyboard event should be stopped

Currently only the default behaviour is prevented for a keyboard event if a command is resolved. It is not enough. If there are other listeners for the same DOM node, they should not be invoked after a command execution, since it causes unexpected behaviour.

I believe you can check this on your side via e.defaultPrevented

@alexandrudima if you are in the control of the code then yes, if it is done by 3rd party library it gets a bit difficult


doc ICD issue for autoscaling

Description
Addresses https://github.com/terraform-ibm-modules/terraform-ibm-icd-postgresql/issues/52
Types of changes in this PR
No release required

[ ] Examples or tests (addition or updates of examples or tests)
[x] Documentation update
[ ] CI-related update (pipeline, etc.)
[ ] Other changes that don't affect Terraform code

Release required

[ ] Bug fix (patch release (x.x.X): Change that fixes an issue and is compatible with earlier versions)
[ ] New feature (minor release (x.X.x): Change that adds functionality and is compatible with earlier versions)
[ ] Breaking change (major release (X.x.x): Change that is likely incompatible with previous versions)

Release notes content
Replace this text with information that users need to know about the bug fixes, features, and breaking changes. This information helps the merger write the commit message that is published in the release notes for the module.

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

Merge actions for mergers

Merge by using "Squash and merge".

Use a relevant conventional commit message that is based on the PR contents and any release notes provided by the PR author.
The commit message determines whether a new version of the module is needed, and if so, which semver increment to use (major, minor, or patch).

@shemau @ocofaigh Finally getting back to this. Please review the updates.


Added travis deployment to pypi. Fixes #27

@asher is it ok if we deploy this continuously with travis? And can we use the yelplabs account so we don't have to use any personal creds?

let's shipit


ROX-26295: Enable ROX_MICROSOFT_SENTINEL feature flag by default

Description
Enable Microsoft Sentinel feature flag by default.

/retest

I'm sure the change is fine, but for completeness: What testing has been done to ensure correct functionality of the new notifier? I don't see it enabled on staging.demo.stackrox.com for example.

Thanks for asking @stehessel. The change was tested locally and on an instance provisioned by @vjwilson. It was reviewed by UI team and me. Now the documentation is written and a last pass is done.
These changes are limited in scope, it adds a form and a notifier without impacting other components in StackRox, so the testing is relatively simple.


Issue starting basic example project

Hi, I'm on step 3 of the Development section and running into this problem:
[!] An error occurred while processing the post-install hook of the Podfile.

[Xcodeproj] Consistency issue: no parent for object `ShareExtensionViewController.swift`: `SourcesBuildPhase`, `SourcesBuildPhase`

Any ideas and solutions? Not entirely sure how to start the sample app otherwise. Thanks for all your hard work on this plugin!

Hi @belle-chang, unfortunately I haven't been able to reproduce it. When I cd into examples/basic and run npm run prebuild, it runs successfully for me:

Can you pls describe the exact steps you take until you reach the error you shared?

Hi Max!
Thanks for promptly responding. I recloned the project and didn't get that issue again, but got a few others:

I got a bunch of issues for importing expo/config-plugins, but when I updated the imports to @expo/config-plugins, I was able to finish running both yarn and the first 2 steps under Development (npm run build and npm run build plugin). Is updating the
imports to @expo/config-plugins the correct solution? Attached an errors text file below.
errors.txt
After successfully running npm run prebuild, I'm running the last command npm run ios. Upon opening the basic app on my simulator, I'm seeing this:

The steps I'm taking are:

Running yarn in both the parent expo-share-extension and examples/basic directories
Then following the instructions under the Development section

So I was able to fix the second issue by manually installing babel-plugin-module-resolver from https://github.com/expo/expo/issues/25923, but still curious about the first question regarding the import of expo/config-plugins vs @expo/config-plugins

Hi Max, thanks for the prompt response! using npm install fixed both issues and I was able to get the examples up and running. Thank you again!


Referenced roles don't exist

This article references the roles "Reservations Adminstrator" and "Reservations Reader" -- but these roles don't exist.  When I pull a list of role definitions, only "Reservation Purchaser" exists.

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

ID: 9845f989-fdb0-d55f-df73-969b0ca2d06c
Version Independent ID: 8562a607-1d01-c368-7000-b956f82af400
Content: Permissions to view and manage Azure reservations - Microsoft Cost Management
Content Source: articles/cost-management-billing/reservations/view-reservations.md
Service: cost-management-billing
Sub-service: reservations
GitHub Login: @bandersmsft
Microsoft Alias: banders

@bjax22
Thanks for your feedback! We will investigate and update as appropriate.

@bandersmsft I checked in my subscription. See the screenshot below. Please comment if there are any updates that needs to be made.

@bjax22 @SadiqhAhmed-MSFT I'm investigating this with the reservations engineering team. I'll make sure to reply here when I have more information.


chore(deps): update docker/login-action digest to 9780b0c

This PR contains the following updates:

Package
Type
Update
Change

docker/login-action
action
digest
0d4c9c5 -> 9780b0c

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Renovate Ignore Notification
Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for the docker/login-action 9780b0c update again.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.


optionally serve v3 API responses for single works as array

For backwards compatibility with the API format until Lagotto 3.8, i.e. before switching from rabl to jbuilder for JSON rendering.

Thanks.

As said in the forum post, please put the following into your .env file and restart the server:
# return JSON for single works as array in v3 API
API=rabl


[MIST-1114] Recover from master failure

This PR resolves #1114 via

Implement recovery process from master failures.

LGTM. I'm merging it. Thanks for the work!


androdis.py

Please remove this template if you only have a question or do not want to create a new issue.
Describe what you did
$ androdis.py -i classes.dex

Describe what happened
Traceback (most recent call last):
  File "/home/math/.local/bin/androdis.py", line 74, in <module>
    sys.argv[:] = arguments
NameError: name 'sys' is not defined

System Information

Androguard Version: androguard==3.2.
Python Version: Python 3.5.2
Ubuntu 16.04

Yeah I encountered with the same problem, so did you got a workaround?

import sys i guess...


x/website: broken Markdown link in loopvar-preview blog post

Hi, Go team.
I was reading a blog post about fixing for loops (https://go.dev/blog/loopvar-preview) and found what seems to me to be a typo: in Markdown link, square bracket was never opened.
Relevant part:
code written depending on the new semantics will never be compiled with the old semantics, unless people are using very old, unsupported Go versions](/doc/devel/release#policy).
Notice how opening square bracket is missing.
I think it should be something like this:
code written depending on the new semantics will never be compiled with the old semantics, unless people are using [very old, unsupported Go versions](/doc/devel/release#policy).
Please fix this.
Thanks!

Thanks.  Already fixed by https://go.dev/cl/529257.


Unable to read narrative xhtml from a resource

Running the CQL in the VS Code plugin, the error message is:
Could not resolve data provider for package 'org.hl7.fhir.utilities.xhtml'.
Sample repository based on content-ig-walkthrough:
https://github.com/felleskatalogen/content-ig-walkthrough/commit/5501e9f07174f29fda1c7a9e07c0b94a5b477e71

Hey @adamzkover what command on which file exactly did you get your error ?

Hi @ddieppois,
In the example repository above there is one Observation that has Narrative, it is in file observation-mom-without-anaemia-hb.json.
Reading it is in ANCRecommendationA2.cql with this function:
define function narrativeOfObservation(O FHIR.Observation):
  if O.text is null then
    ''
  else
    O.text.div

The complete output (with some of the directory path removed) from running the CQL file in the VSCode plugin is:
Executing CQL...
CQL path: /Users/.../content-ig-walkthrough-resource-narrative/input/cql
Data path: /Users/.../content-ig-walkthrough-resource-narrative/input/tests/ANCRecommendationA2
Terminology path: /Users/.../content-ig-walkthrough-resource-narrative/input/vocabulary/valueset

Evaluation logs:
11:46:42.643 [pool-2-thread-1] INFO  ca.uhn.fhir.context.FhirContext - Creating new FHIR context for FHIR version [R4]
11:46:42.741 [pool-2-thread-1] WARN  o.o.c.c.e.e.terminology.BundleTerminologyProvider - Codes expanded without a terminology server, some results may not be correct.
11:46:42.741 [pool-2-thread-1] WARN  o.o.c.c.e.e.terminology.BundleTerminologyProvider - Codes expanded without a terminology server, some results may not be correct.
Could not resolve data provider for package 'org.hl7.fhir.utilities.xhtml'.
elapsed: 0.105 seconds

Having O.text in the else branch gives a Narrative, but I did not find a way to get the text or markup from the Narrative.


(from/to)_ne_bytes instead of transmute

Used (from/to)_ne_bytes to replace some unsafe code and better handle passing between big/little endian systems

Thanks!


Allow thanos-query to read from PromQL endpoints

Is your proposal related to a problem?
We are using thanos to build a heterogeneous mesh of different prometheus-alike-scrapers scattered across multiple clusters, across multiple cloud regions. We currently face two issues.

We have clients (namely GCP managed prometheus) that can neither deploy a thanos-sidecar (as they don't emit prometheus WAL files), nor write to thanos-receive, as they don't support remote write. BUT they provide a PromQL endpoint.
As we want to save network transfer costs, we want to utilise thanos-frontend to cache cross-regional requests. This is not possible, as thanos-frontend does not expose a GRPC endpoint.

Describe the solution you'd like
We would like to either see thanos-query to be able to attach to PromQL endpoints, or to have a new "thanos-converter" component which takes a PromQL endpoint and provides a thanos-grpc endpoint which can then be attached to thanos-query.
Describe alternatives you've considered
We considered using federation, i.e. reading the PromQL endpoint through another prometheus, but this imposes a problem with longterm data. We could query longterm data through PromQL, but with federation, we cannot unless we store the data twice.
We considered using multiple Grafana endpoints / multiple PromQL endpoints per cluster but this complicates things a lot for teams. When using thanos-query as a "metrics-mesh" teams can simply use the same PromQL endpoint on all clusters, but with multiple endpoints they need to exactly know where to attach to for which metrics. It also complicates things if you need to mix metrics from multiple endpoints, especially when the receiving tool does not support multiple endpoints.

Hi @arnecls, could you be more specific about what does it mean by provide a PromQL endpoint?
What API does it support? Does it support instant query and range query APIs? Does it also support remote read API?

We have clients (namely GCP managed prometheus) that can neither deploy a thanos-sidecar (as they don't emit prometheus WAL files)

I am quite interested in this decision. Running thanos sidecar doesn't require any Prometheus WAL or TSDB if you don't enable object storage. As long as your PromQL endpoint supports remote read then it is queryable.

Hey @yeya24.
I actually wasn't aware that prometheus had two different kinds of endpoints (HTTP API and Remote Read API).

Running thanos sidecar doesn't require any Prometheus WAL or TSDB if you don't enable object storage. As long as your PromQL endpoint supports remote read then it is queryable.

In case of GCP's Managed Prometheus we seem to only have the HTTP API as outlined in the documentation.


Docker-compose installation fails on VPS

Ubuntu 16.04 vps.
Fresh install.
sudo apt-get install git docker docker-compose
Modified docker-compose.yaml appropriately
docker-compose up --build -d
All containers except elasticsearch_hr and hospitalrun start. These two exit immediately.
Nothing accessible through webpage - security/certificate/connection refused messages.
Change permissions on hospitalrun/data to regular user: elasticsearch_hr and hospitalrun start, however, still no login page......unexpectedly closed connection.
Tried manual certificate update - no difference.
Where do I go from here?
I assume something has changed in the container setup from a few months ago, as the above would just work before.

docker logs hospitalrunserver_nginx_1
2018/04/30 11:34:08 [warn] 13#13: conflicting server name "" on <IP_ADDRESS>:80, ignored
nginx: [warn] conflicting server name "" on <IP_ADDRESS>:80, ignored
2018/04/30 11:34:08 [warn] 13#13: conflicting server name "localhost" on <IP_ADDRESS>:80, ignored
nginx: [warn] conflicting server name "localhost" on <IP_ADDRESS>:80, ignored
2018/04/30 11:34:36 [error] 14#14: *1 connect() failed (111: Connection refused) while connecting to upstream, client: <IP_ADDRESS>, server: _, request: "GET / HTTP/1.1", upstream: "http://<IP_ADDRESS>:3000/", host: "www.resurge-hms.org"
<IP_ADDRESS> - - [30/Apr/2018:11:34:36 +0000] "GET / HTTP/1.1" 502 537 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0"


Bump time to 0.3.11

Thanks. I think the revert commit was not necessary though:)

indeed - I thought a pinned crate could have behaved differently when trying to run cargo upgrade --workspace<EMAIL_ADDRESS>so I wanted to play it safe - went back and verified that I could have done it without it; will remember for the future.


spurious failures in test_build_track

See original issue on GitLab
In GitLab by [Gitlab user @tristanvb] on Jul 25, 2018, 12:26
Summary
When running tests, the test_build_track now fails spuriously, this seems to have started happening since landing the new CAS artifact cache.
Steps to reproduce
Run tests in CI
What is the current bug behavior?
Sometimes it will break, sometimes it will pass.
What is the expected correct behavior?
Tests should always pass
Relevant logs and/or screenshots
This log shows a failure: https://gitlab.com/BuildStream/buildstream/-/jobs/84240353
Note that the error log is either misleading, or, we could be seeing two problems at the same time.
Possible fixes
The test case in question uses the same git repo for multiple elements, and it would seem that since we are cloning to the same git source cache, the mv operation is failing. Instead, similarly to how _downloadablefilesource.py uses an atomic rename at the end, we should assume that if we had to clone the repository because the repo didn't exist initially, that it was created in parallel and will already be up to date.
The above is reflected in this part of the log:
    [00:00:00][????????][track:5.bst                         ] FAILURE git source at 5.bst [line 3 column 2]: Failed to move cloned git repository file:///builds/BuildStream/buildstream/dist/buildstream
/tmp/test_build_track_track_targets2/repo from '/builds/BuildStream/buildstream/dist/buildstream
/tmp/test_build_track_track_targets2/cache/sources/git/tmpqgc5l0wd' to '/builds/BuildStream/buildstream
/dist/buildstream/tmp/test_build_track_track_targets2/cache/sources
/git/file____builds_BuildStream_buildstream_dist_buildstream_tmp_test_build_track_track_targets2_repo'

But this is not the only relevant error, we are also seeing a stack trace from the test case itself when removing the artifact using cli.remove_artifact_from_cache(), ultimately that error boils down to the following error being raised from shutil.rmtree():
FileNotFoundError: [Errno 2] No such file or directory: '/builds/BuildStream/buildstream/dist/buildstream/tmp/test_build_track_track_targets2/cache/artifacts/cas/refs/heads/test/6'

This part of the failure seems to point to the fact that, since we use the same git repo for multiple tests, we have some artifacts which have identical content, and one hypothesis is that attempting to remove the artifact is failing because cli.remove_artifact_from_cache() is doing something misguided; perhaps it needs to be brought more inline with how _artifactcache/cascache.py implements ArtifactCache.remove().
Other relevant information

BuildStream version affected: /milestone %BuildStream_v1.x

In GitLab by [Gitlab user @tristanvb] on Jul 29, 2018, 10:16
mentioned in commit 0d04fc0ae2c03c9be7b91fd967b874d52fc9393c

In GitLab by [Gitlab user @tristanvb] on Jul 29, 2018, 10:17
mentioned in merge request !583

In GitLab by [Gitlab user @tristanvb] on Jul 29, 2018, 10:22
mentioned in commit aa3ae2075020aa632b6f2d789238234ca4b8551c

In GitLab by [Gitlab user @tristanvb] on Jul 29, 2018, 10:23
mentioned in merge request !584

In GitLab by [Gitlab user @tristanvb] on Jul 29, 2018, 10:57
mentioned in commit 234f1ba176e3da4827cc1a7881f9335e1ff3510e

In GitLab by [Gitlab user @tristanvb] on Jul 29, 2018, 11:26
mentioned in commit df18d38c917e3e067c2b19a36447b23c932baad9

In GitLab by [Gitlab user @tristanvb] on Jul 29, 2018, 12:18
closed via merge request !583

In GitLab by [Gitlab user @tristanvb] on Jul 29, 2018, 12:18
mentioned in commit 92714b03307304253eb5250649f02c6ff2bdda5b

In GitLab by [Gitlab user @tristanvb] on Jul 29, 2018, 18:22
mentioned in commit 95cc979369845273ce37a1443bc58aa1f2d78607


Setting the tokenView editable to false doesn't disable editing tokens

@anthonycastelli Thank you for reporting the issue. It is fixed in latest commit.


Plugin fails to connect due to TypeError: a bytes-like object is required, not 'str'

Issue description
Zigbee2mqtt is working properly and I can add devices to it without any issues. However, the plugin does not connect to mqtt or adds devices to DZ due to a type error. The domoticz log is as follows
2024-02-15 15:52:20.165 Error: zigbee: Call to function 'onMessage' failed, exception details:
2024-02-15 15:52:20.165 Error: zigbee: Traceback (most recent call last):
2024-02-15 15:52:20.165 Error: zigbee: File "/home/pi/domoticz/plugins/zigbee2mqtt/plugin.py", line 299, in onMessage
2024-02-15 15:52:20.165 Error: zigbee: _plugin.onMessage(Connection, Data)
2024-02-15 15:52:20.165 Error: zigbee: File "/home/pi/domoticz/plugins/zigbee2mqtt/plugin.py", line 137, in onMessage
2024-02-15 15:52:20.165 Error: zigbee: self.mqttClient.onMessage(Connection, Data)
2024-02-15 15:52:20.165 Error: zigbee: File "/home/pi/domoticz/plugins/zigbee2mqtt/mqtt.py", line 146, in onMessage
2024-02-15 15:52:20.165 Error: zigbee: topic = Data['Topic'] if 'Topic' in Data else ''
2024-02-15 15:52:20.165 Error: zigbee: ^^^^^^^^^^^^^^^
2024-02-15 15:52:20.165 Error: zigbee: TypeError: a bytes-like object is required, not 'str'
2024-02-15 15:53:10.180 Error: zigbee: Disconnected from MQTT Server: <IP_ADDRESS>:8085

Additional information
Zigbee2MQTT version: 3.8
Python version: 3.11
Domoticz version: 2024.4
Plugin version: master branch, commit 660db3f68ae48fedce9b17727db4617ec5f721c8
Logs
See above.

I was able to sort it out on my own. Essentially I was not aware that mosquitto had to be installed before running zigbee2mqtt (I thought that it would be included in the package). As soon as mqtt broker was installed it started working immediately.


Do not allow to create catalogue promotion rule with reward_value not set

Currently, there is a possibility to create a catalog PromotionRule with unset reward_value. We shouldn't allow that.
We need to find out where is the option to create such a rule and not allow it anymore.

Hi - I think this happens you create a variant promotion rule via the dashboard.
It creates a promotion rule with below:
{
          "node": {
            "id": "UHJvbW90aW9uOjI1NGExMTYzLTI3OGUtNDFkNi04NDgwLWY1MzdiODEzYTRhMw==",
            "name": "Test Rule",
            "startDate": "2024-01-04T17:51:00+00:00",
            "endDate": null,
            "events": [],
            "rules": [
              {
                "cataloguePredicate": {
                  "OR": [
                    {
                      "variantPredicate": {
                        "ids": [
                          "UHJvZHVjdFZhcmlhbnQ6NDg4"
                        ]
                      }
                    }
                  ]
                },
                "id": "UHJvbW90aW9uUnVsZTo3OTQwNDg3NC05MTk3LTRlZjYtYTE0Ny1iYmFhYWUyMzIwOWE=",
                "rewardValueType": "PERCENTAGE",
                "rewardValue": null
              },
              {
                "cataloguePredicate": {
                  "OR": [
                    {
                      "variantPredicate": {
                        "ids": [
                          "UHJvZHVjdFZhcmlhbnQ6NDg4"
                        ]
                      }
                    }
                  ]
                },
                "id": "UHJvbW90aW9uUnVsZTo0NGUxZTU2Yi0wYzA4LTRhYzYtYjNjMS00Njk3MmJiYTdmMDA=",
                "rewardValueType": "PERCENTAGE",
                "rewardValue": 50
              }
            ]
          }
        }

Also, another thing I noticed is if I use the promotionCreate mutation with only variant ids in the predicate it sometimes works and sometimes doesn't (API is always successful, but discounts don't reflect).
For example,
{
  "input": {
    "name": "GraphQL Test",
    "rules": [
      {
        "channels": ["Q2hhbm5lbDoy"],
        "rewardValue": 20,
        "rewardValueType": "PERCENTAGE",
        "cataloguePredicate": {
          "variantPredicate":{
              	"ids": "UHJvZHVjdFZhcmlhbnQ6Mzk0"
                }

        }
      }
    ]
  }
}

this works sometimes but fails most of the time. The rule is always created but the price and discount never reflects!
Incase anyone knows what could be going wrong would be helpful!

Thank you @aakashkejriwal, we will check that!

From what I see, sale interface uses the PromotionRule to store some data. In that case, objects will have reward_value=None. I don't think that there is any easy way, which could solve this. I think we need to leave the filters which exclude reward_value=None.

Additionally, @aakashkejriwal pointed out the issue with re-calculation:

Also, another thing I noticed is if I use the promotionCreate mutation with only variant ids in the predicate it sometimes works and sometimes doesn't (API is always successful, but discounts don't reflect).

The issue here is related to triggering the celery task inside the DB transaction. I've created the task for this: https://github.com/saleor/saleor/issues/15265
@aakashkejriwal  thanks again!


Issues running the detection training code

Thank you for releasing the code for training the detector. I want to fine-tune the detector on the amazon reviews you released but I have some issues.
The file "train.py" in "detector" directory requires some python functions in some directories (dataset, download, utils) that are missing. Can you please help?
The following imports gives error:
from .dataset import Corpus, EncodedDataset
from .download import download
from .utils import summary, distributed
Thank you

You'll need to launch the script as a module, from the upper directory:
python -m detector.train

Check out README.md for more details.

I see, thank you very much for your reply.


Issue 786: NSString tests fail on OSX (integer formatting-related)

Description:
Fix issue with NSString intValue needing to always return 32bit values.
How Verified: passes on both WinObjC and reference platform.
Reviewed-by: DHowett-MSFT, ms-jihua

:shipit:

:shipit:

:shipit:

:shipit:


Various fixes to the responsiveness of workflow dropdown

💬 Description
A user reported an issue when using the new workflow dropdown on a smaller resolution. Peaks ended up giving some feedback on how we can improve the responsiveness, here are those changes!
This PR is mostly style updates. As well as a change to our collapsible logic to handle the changing of sizes better.
🔗 Links
https://trello.com/c/T6gWuxPx/1588-regular-the-new-workflow-ui-makes-it-difficult-to-leave-longer-notes
✅ Checklist

[ ] Tests written
[ ] Browser tested
[ ] Added to documentation
[ ] Added to storybook

I feel like there’s probably a simpler way of doing this, but i suppose animations need a fixed value to work that forces our hand a bit?

Yee we need the exact values to know how much to animate. I have tried estimating but it makes the animations too long/short and it looks baaaad.


Crash when mapping with valueOrFail

Hi first of all GREAT library here :) ....
I'm getting a weird crash when the requested key is not present in the response
public struct Response: Mappable {
    //MARK: Properties
    internal var dictionary: [String:AnyObject]
    //MARK: Mappable protocols implementation
    public init?(_ map: Map){
        self.dictionary = map["data"].valueOrFail()
        if !map.isValid {
            return nil
        }
    }
    public mutating func mapping(map: Map) {
        dictionary    <- map["data"]
    }
}

The response is:
{
            "login" :{
                "token":"451165846sdgfsgs6847653",
                "user_id":1
            }
}

It crash in Map.swift line 73
public func valueOrFail<T>() -> T {
		if let value: T = value() {
			return value
		} else {
			// Collects failed count
			failedCount++

			// Returns dummy memory as a proxy for type `T`
			let pointer = UnsafeMutablePointer<T>.alloc(0)
			pointer.dealloc(0)
			return pointer.memory
		}
	}

exactly on return pointer.memory
Thanks

I'm using AlamofireObjectMapper, and I think the problem is happening over there, lets check first


add failing test cases for invoked observable listeners

This is a draft PR demonstrating two possible bugs in the current spawnObservable implementation. I noticed both of these as a side effect of upgrading jest in #3565.
In that PR, the existing test for state.children should reference invoked child actors (observable) passes but leaves an open handle.
It seems like there are potentially two bugs here:

The invoked observable child and service are both stopped before a child listener receives its latest emitted value. This seems like a mismatch in behavior e.g. a listener on an invoked machine will have received notice of the child's final state by that point.
Listeners of an invoked observable child aren't automatically unsubscribed, which is the reason for the open handle. Listeners will continue to receive emitted values from the observable until the end of time, which seems like unexpected behavior.

The test in the jest PR can be made to pass pretty easily by just calling unsubscribe on the child listener before the test ends, but wanted to make sure we're not missing some edge cases here if we do that.

Thank you for those! This is an awesome contribution. I'm gonna get to fixing those soon.

Thank you for those! This is an awesome contribution. I'm gonna get to fixing those soon.

I might take a stab at a fix as well, just to see how you'd do things differently 😉

This is a bigger problem with the current implementation. Unfortunately, we don't wrap observables - we just pass them around directly right now (this is already solved in v5, at least partially, as we wrap all the things there, but we should add those tests there and make sure that they pass there).
But why should we wrap them in the first place? Most RxJS observables are cold by default - which means that with this code:
const interval$ = interval(10);
interval$.subscribe(val => console.log(val))
interval$.subscribe(val => console.log(val))

we actually end up with two separate streams. And this is what essentially happens in those added tests - your additional subscriptions are not actually listening to the observable actor that XState has created, they create extra streams and those are not governed by XState. It's not a surprise that this leaks open handles etc.


Add Phone contacts with LemonUI?

Phone contacts...
https://github.com/Bob74/iFruitAddon2
the above link was originated by camxxcore, updated by bob74 but it has issues and the author seems to be MIA, could you maybe fix it?

I have taken the decision to implement support for contacts.


get paging direction

hi,
is it possible to get the paging "direction"? i would need to know, if the user hit the prev or the next button.
thanks!

pagination event now contains prevPage along with currentPage to let you know what page you're coming from:
https://xaksis.github.io/vue-good-table/guide/configuration/table-events.html#on-page-change
closing.


Add St Louis High School to IE domain

@philipto The high school URL is St Louis High School. It runs a Computer Club (information available under Extra Curricular Activities).

@maheshkandpal2411 Pull request merged. Thank you!


package request: libpangocairo

https://packages.debian.org/sid/libpangocairo-1.0-0
This package is required for proper text generation with some HTML to PDF libraries.

libpangocairo is part of the pango package
http://packages.nanobox.io/2017/11/base/pango-1.40.12.tgz.html


records are not saving

// Define an object that relates to a table. I have table scrapped in my db
class Scrapped extends SimpleOrm { }
$dx['website'] = HOST;
$dx['data'] = json_encode($data);
 $record = new Scrapped($dx);

You'll need to call save afterwards on the object: $record->save().
Alternatively you can do $record = new Scrapped($dx, SimpleOrm::LOAD_NEW); to create and insert in one step.

still having problem
data array is
Array
(
[website] => http://www.xxxxx.com
[data] => {"link":"http://www.xxxxx.com/male-karachi-67345","name":"Shafi" }
)
Fatal error: Uncaught exception 'Exception' with message 'Column 'website' cannot be null INSERT INTO admin.scrapped (website, data, created_at) VALUES (?, ?, ?)' in C:\xampp\htdocs\xcrawler\Classes\SimpleOrm.class.php:406 Stack trace: #0 C:\xampp\htdocs\xcrawler\Classes\SimpleOrm.class.php(353): SimpleOrm->insert() #1 C:\xampp\htdocs\xcrawler\working\seeker4.php(94): SimpleOrm->save() #2 {main} thrown in C:\xampp\htdocs\xcrawler\Classes\SimpleOrm.class.php on line 406

Could you post some of the code in question?
The error says that the website property is null and your scheme doesn't allow null values in that column.

exactly same issue with me. I am passing website with value and why is it showing this error?
// Include the SimpleOrm class
include dirname(FILE) . '/../Classes/SimpleOrm.class.php';
// Connect to the database using mysqli
$conn = new mysqli($params['database']['host'], $params['database']['user'], $params['database']['password']);
if ($conn->connect_error)
die(sprintf('Unable to connect to the database. %s', $conn->connect_error));
// Tell SimpleOrm to use the connection you just created.
SimpleOrm::useConnection($conn, $params['database']['name']);
// Define an object that relates to a table.
class Scrapped extends SimpleOrm { }
$data = array('website'=>' http://www.xxxxx.com','name'=>'abcd');
$dx['website'] = HOST;
$dx['data'] = json_encode($data);
$record = new Scrapped($dx);
$record = new Scrapped($dx);
$record->save();
debugd($record);

$dx['website'] = HOST; would evaluate to $dx['website'] = null;.
If you want to insert the $data array then you need to change what var you're building your object with.

no. HOST is defined as constant with a name. of website.
const HOST  = 'http://www.gxxxxxa.com';
Now I have changed the table structure from my db and resolve the above issue with set null.
Now another issue is coming.
It is not auto generating primary key.
Fatal error: Uncaught exception 'Exception' with message 'Duplicate entry '0' for key 'PRIMARY' INSERT INTO admin.scrapped (website, data, created_at, status) VALUES (?, ?, ?, ?)' in C:\xampp\htdocs\xcrawler\Classes\SimpleOrm.class.php:406 Stack trace: #0 C:\xampp\htdocs\xcrawler\Classes\SimpleOrm.class.php(353): SimpleOrm->insert() #1 C:\xampp\htdocs\xcrawler\working\seeker4.php(44): SimpleOrm->save() #2 {main} thrown in C:\xampp\htdocs\xcrawler\Classes\SimpleOrm.class.php on line 406

This ORM does not auto-generate primary keys. It assumes your primary is id and auto-increments via database configuration.

yes. Now above error also fixed with id auto increment but inserted records are null. just primary key is coming...

Did you end up figuring this out? I believe the issue lies within your script and not the ORM layer.


each with non-Void block

This should be fine but currently raises type error because each expects (String)->Void but the block is (String)->Int.
[""].each do |s: String|
  0
end

But (String)->Int does not always conforms to (String)->Void. eg:
def foo(f: (String)->Void)
  the_void = f("aaa")
end

I think no one does this but current type system allows this.

If the above program (i.e. calling Void-returning func on a value context) is prohibited, it is safe to allow passing (String)->Int block to (String)->Void.

(FYI) In Rust, this program is type error. You need to explicitly return unit like |b| { 0; }
    pub fn foo(&self) {
        self.bar(|b| 0)
    }

    pub fn bar(&self, f: fn(bool)->()) {
        f(true)
    }


Contacts - when sending a transaction to an offline address, wallet should save receiving offline address

When sending a transaction to an offline address, user saves this address as a contact, it should be saved with the receiving offline address.
To Reproduce

Copy an offline address in Receiver's wallet.
Send some amount to copied offline address from Android wallet and save this address as a contact.
In the Android wallet navigate to the Contacts page in Address Book.
Send another amount to the saved contact by clicking Send button.

Actual result
SBBS address is saved and a new transaction is created as a regular tx.
Expected result
Receiving offline address is saved and a new offline transaction is created.

When we send a transaction to our contact's offline address, on the send screen there is no information about payments left. Please, add this information as it's shown in the design https://zpl.io/aBLkoRQ.

When we proceed with the offline transaction to our contact, there is incorrect information about payments left on the confirmation screen.

https://user-images.githubusercontent.com/68247034/102766190-cdacc100-438e-11eb-9982-08a86dc5622a.mp4

Checked.


Seer is not working

Seer quick look software is not supported. please add this feature.

I will consider that and have already made contact with the developer of Seer.

Hi, thank you for adding this feature so fast. But unfortunately it's not working for me.
Edition: Windows 11 Home
Version: 21H2
OS Build: 22000.856
RX-Explorer:
Version: <IP_ADDRESS>
Seer Pro:
Version: <IP_ADDRESS> UWP (Latest Microsoft store version)

According to the developer of Seer. Seer in Microsoft Store is not supported to be operated by 3rd party program currently.
You should use the Seer with installer downloaded from its website for the time being. (A new version of Seer in MS-Store is under the review which will add support for 3rd party program)

Just for notifications.
The Seer in Microsoft Store is also support for 3rd party file explorer now.


PostgreSQL warning 13.10 not supported

Which version and edition of Flyway are you using?
9.14.1 (org.flywaydb:flyway-core)
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Java API (org.flywaydb:flyway-core)
Which database are you using? (Type & version)
PostgresSQL 13.10
Which operating system are you using?
Windows 10
What did you expect to see?
No warnings to appear when the server starts
What did you see instead?
Flyway upgrade recommended: PostgreSQL 13.10 is newer than this version of Flyway and support has not been tested. The latest supported version of PostgreSQL is 12.

I can't reproduce this on the latest version, which should support up to PostgreSQL 15.
https://github.com/flyway/flyway/blob/main/flyway-core/src/main/java/org/flywaydb/core/internal/database/postgresql/PostgreSQLDatabase.java#L64
Are you sure you're on Flyway 9.14.1?

Seems like I put the version number on the wrong spot (thought it would take the same version number as with the gradle plugin)


Date placement in release notes

fixes #171
moved the date to the new location. Did some testing using mockito project:

2.8.37 (2017-05-29) - 4 commits by epeee (3), Szczepan Faber (1) - published to

Wow, you're fast :) I'm reviewing right now. If I cannot merge from the GitHub UI, I will ask you to rebase with master, and then merge.


Index signatures for symbols and template literal strings

With this PR we implement support for symbol and template literal string index signatures. We furthermore permit index signature declarations to specify union key types, provided all constituents are either string, number, symbol, or template literal types with non-generic placeholders. Some examples:
type SymbolMap<T> = {
    [key: symbol]: T;
};

type DataProps = {
    [key: `data-${string}`]: string;
};

type PropertyMap = {
    [key: string | number | symbol]: string;
};

An index signature declaration that specifies a union key type is exactly equivalent to a set of distinct index signatures for each constituent key. For example, the PropertyMap declaration above is exactly equivalent to:
type PropertyMap = {
    [key: string]: string;
    [key: number]: string;
    [key: symbol]: string;
};

Index signature declarations are not permitted to specify literal key types or generic key types. Those kinds of types can only be used with mapped types, which map literals key types to distinct properties and defer resolution of generic key types until they're instantiated with non-generic types. For example:
type Thing<T> = Record<'a' | `foo${T}` | symbol, string>;

type StringThing = Thing<string>;  // { [a: string, [x: `foo${string}`]: string, [x: symbol]: string }
type BarThing = Thing<'bar'>;  // { [a: string, foobar: string, [x: symbol]: string }

This PR supercedes #26797 which was more ambitious but had overlap between regular properties and index signatures with literal key types that is difficult to reconcile, as well as generic index signatures for which type relationships become exceedingly complex to reason about.
Fixes #1863.
Fixes #26470.
Fixes #42192.
Fixes #44675.

Shouldn't we allow any and never as index signature key types as well?

My understanding from the last design meeting was that we were limiting the new types of index signatures to match the biggest use-cases that we had, keeping room to generalize for unions, finite types, any, unknown, never, and enum types.

@typescript-bot perf test this

I'm actually surprised to see unions supported in index signatures in this PR.

Unions per se are not the problem as they can trivially be expanded to individual index signatures for each constituent. (Might as well have the convenience of writing [key: string | number | symbol]: xxx instead of requiring three distinct declarations.) The trouble comes from (unions of) literal types and generic types as they do not become index signatures when fed through mapped types. Those are the ones we need to prohibit.

@typescript-bot pack this

One thing that's odd is
type Foo = {
    [x: string | number]: string;
}

desugars to
type Foo = {
    [x: string]: string;
    [x: number]: string;
}

even though that's functionally the same as
type Foo = {
    [x: string]: string;
}

right?

@DanielRosenwasser Yes, that is a bit odd, but it's consistent with what happens if you feed string | number through a mapped type. For example, Record<string | number, string> produces a type with both index signatures.

@typescript-bot perf test this

We furthermore permit index signature declarations to specify union key types, provided all constituents are either string, number, symbol, or template literal types with non-generic placeholders

are literal string unions allowed inside the template string types ? eg:
type CoordinateProps = {
    [key: `${'x'|'y'|'z'}`]: number;
};

are literal string unions allowed inside the template string types

No, the type `${'x'|'y'|'z'}` is equivalent to 'x' | 'y' | 'z', which isn't permitted. But you can of course use Record<'x' | 'y' | 'z', number>, which resolves to three distinct properties.

@typescript-bot perf test this

@ahejlsberg as I understand, this PR, as opposed to https://github.com/microsoft/TypeScript/pull/26797, won't solve following problem with "nominal/brand" types:
type Id = string & {__brand: 'Id'};
type Cache = Record<Id, string>;

const cache: Cache = {};
declare const someId: Id;
cache[someId] = '{}'; // TS7053: Element implicitly has an 'any' type because expression of type 'Id' can't be used to index type 'Cache'.

If I'm right, are there any plans to solve it in the future?

@somysz The PR currently doesn't permit intersections as key types in index signatures, but there's really no reason it couldn't, provided the intersections include one of string, number, symbol, or a template literal type with placeholders. I'll look at making the change.

@typescript-bot pack this

@weswigham @RyanCavanaugh Latest commits address code review feedback.

Congrats. I look forward to this feature.

Thank you for addressing this issue!

Thanks for this. This was long awaited update.
Is there any intel when this will be released with new version tag?

symbol still not working：https://www.typescriptlang.org/play?ts=4.4.0-dev.20210627#code/PTAEiJrQ5+MU3NAYlUAqBPADgUwMoGMBOBLFAF1EA47QBTlAudUBh-gKBFEE34wejNAAOUCo5QTb9ADeUAXjQbPlAaP6BMxSqAwJUDVcoBiVQGbagAzlEqTLgLFAIW6BFf0CbXoCAGGnTCAKg0D3yoFO5E4CDNQNBygSDlAs56BO00Dw+oH95QBSugYO1AWP-79oUAFpQdkBYOUAseUAWD0B5dUBvuUBVeUAcOUB-SNU5BXRsfCJQVUAGdXtdegCgtkBleUAYrLSlTOJAW+jAVZtANz1AODlAaojALrkJXPzfIvZXQDi5QGlbQFXo4MAYFUqMlVABQEXowHxzQHylQF+A1UBMm0BG710aPAA7QjQcADMAQyw0UABBUABvGj8-E4B+AC5QAGdCfF2Ac3uHgBGr1AuwArgBbAGHf5+ADaAGs0Eg3gADAAe-gAJDdPt8fgBfFGgAA+HyQkIA9gAbAC6b1xez++L0WApu0+ZMpVIA0kjQABeUAYckA6kACgA5IikBKAJQstkck5va6Cu4PUASjEnCVvCUARgATABmCUAGhhoFh7xF1N5SDpmqNppozN8pkAnQ6Ab8VAFBy9lUoEAOASALk9ANHygFwCUCANCMg4AG00A36nhqgmQBhcoBjyMAL2aALE1AM6K-RqgAAo1SAQ-lAPYG2gARL4o4BQAMABEqAEzSGIBsuUAFzaAKcSGoAUOUAAPqAac03FRAC6mbHIFFUgDQ5QAyroBfhMAejr9Li6IA

@liuweiGL that is fixed by adding explicit type:
const symbolKey: symbol = Symbol('key')

Without it there is a type error:

Is this a transitional plan?

@liuweiGL I don't know. I'm not a developer in TS team =D
I've just seen your comment and tried to find the solution.

Thank you very much for the great work on this new feature! It works like a charm in my project.

Something is amiss with this, or it's not been released yet. Still receiving the 'ol error TS1337: An index signature parameter type cannot be a union type. Consider using a mapped object type instead. errors. @RyanCavanaugh can you confirm it's been released as of 4.3.5?

Something is amiss with this, or it's not been released yet. Still receiving the 'ol error TS1337: An index signature parameter type cannot be a union type. Consider using a mapped object type instead. errors. @RyanCavanaugh can you confirm it's been released as of 4.3.5?

It's currently in the 4.4 release which is in beta scheduled to be released by the end of August.

@ahejlsberg Could you please clarify why those cases work differently in terms of assignability (playground)?
const sym = Symbol();

function gg3(x: { [key: string]: string }, z: { [sym]: number }) {
  x = z;  // Ok
}

interface GG4 {
    [sym]: number;
}

function gg4(x: { [key: string]: string }, z: GG4) {
  x = z; // Error
}

type GG5 = {
    [sym]: number;
}

function gg5(x: { [key: string]: string }, z: GG5) {
  x = z; // Ok ?!
}

Is this in and working? I'm sitting on v4.4.2 and still receiving:

An index signature parameter type cannot be a union type. Consider using a mapped object type instead

With this PR we implement support for symbol and template literal string index signatures. We furthermore permit index signature declarations to specify union key types, provided all constituents are either string, number, symbol, or template literal types with non-generic placeholders. Some examples:
type SymbolMap<T> = {
    [key: symbol]: T;
};

type DataProps = {
    [key: `data-${string}`]: string;
};

type PropertyMap = {
    [key: string | number | symbol]: string;
};

An index signature declaration that specifies a union key type is exactly equivalent to a set of distinct index signatures for each constituent key. For example, the PropertyMap declaration above is exactly equivalent to:
type PropertyMap = {
    [key: string]: string;
    [key: number]: string;
    [key: symbol]: string;
};

Index signature declarations are not permitted to specify literal key types or generic key types. Those kinds of types can only be used with mapped types, which map literals key types to distinct properties and defer resolution of generic key types until they're instantiated with non-generic types. For example:
type Thing<T> = Record<'a' | `foo${T}` | symbol, string>;

type StringThing = Thing<string>;  // { [a: string, [x: `foo${string}`]: string, [x: symbol]: string }
type BarThing = Thing<'bar'>;  // { [a: string, foobar: string, [x: symbol]: string }

This PR supercedes #26797 which was more ambitious but had overlap between regular properties and index signatures with literal key types that is difficult to reconcile, as well as generic index signatures for which type relationships become exceedingly complex to reason about.
Fixes #1863.
Fixes #26470.
Fixes #42192.
Fixes #44675.

@douglasg14b
You can do it using type and in
type Test = 'one' | 'two';
type Foo= {
  [key in Test]: any;
}
//type Foo = {
//    one: any;
//    two: any;
//}

type Foo2= {
  [key in `${Test}${Test}`]: any;
}
//type Foo2 = {
//    oneone: any;
//    onetwo: any;
//    twoone: any;
//    twotwo: any;
//}

playground

@ahejlsberg - This is really a great feature, thanks!
I noticed that spaces seem to count as digits with the number type.  How about not allowing that?
Of course with unquoted literal labels it doesn't matter, but with quoted string indices it does.
type TP4 = {[k:`${number}`]:null}
const tp4_1:TP4 = {'1':null}
const tp4_2:TP4 = {' ':null}   // even though there is no number present, it passes
const tp4_3:TP4 = {' 1':null}
const tp4_4:TP4 = {'1 ':null}
const tp4_5:TP4 = {' 1 ':null}

playground

Index signatures for template literal string with generic?
type Props<T extends string> = {
  renders: {[key in T]: any};
  [key: `render${Capitalize<T>}`]: any;
};

If there're other keys needing restricting value type, how should I put it?

type Test = 'one' | 'two';
type Foo= {
  stringKey: string; // A mapped type may not declare properties or methods.
  numberKey: number;
  [key in Test]: any;
}

playground

Can this feature be used in interfaces?

enum Test {
  ONE = 'one',
  TWO = 'two'
}
interface Foo {
  [key: Test]: any; // An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead.
}

playground

If there're other keys needing restricting value type, how should I put it?

As two separate mapped objects


consider removing LICENSE from track-wide files

Currently, this repo has a LICENSE file in the track-wide files. That is, last year, we changed the LICENSE in every track repo to contain:
https://github.com/exercism/org-wide-files/blob/f208e7b54ccc67adf249a558d803af297d076715/tracks-files/LICENSE#L3
My understanding is that this is bad, because:

The main point of the date is to indicate when the oldest code might start to become public domain.
The start of the date range is more important than adding the current year - you don't have to append the current year to assert copyright ownership.
In general, the current year is not a "copyrightable year" for every track repo.

Therefore the date in each track repo's LICENSE should be specific to that repo, and LICENSE should not be in org-wide-files. Instead, I think we should update every track repo LICENSE to include the year of that repo's creation, and then add the LICENSE to CODEOWNERS so that it requires admin approval to change.
If desired, we could automate appending the current year to each copyright notice when a repo receives "copyrightable changes" in that year. But that's less important.
Additional complication: for older repos, maybe it should be like:
Copyright (c) 2014 Exercism, Inc
Copyright (c) 2019, 2021 Exercism

See also:

https://github.com/exercism/problem-specifications/pull/1930
https://github.com/exercism/nim/pull/304

I also think that we want to remove the LICENSE from this repo.

Copyright (c) 2014 Exercism, Inc

Additional complication, the Inc only existed briefly in... 2017-2018 maybe? I updated the copyright across the board when that happened, then dissolved the Inc and reassigned all assets, copyright, and ownership to the not-for-profit Exercism.


iOS 7 App Store Submission Failed

Both in iOS 7.x and in 8.x my app worked fine. However I received this error when validating the binary for deployment.

This may be related to the issue here: https://github.com/stephencelis/SQLite.swift/issues/44
I'll have to try to come up with a better, supported way of importing the sqlite3 header into Swift (which may end up being one of the ways listed in #44, unfortunately), but in the meantime and in the interest of getting your app submitted ASAP, can you please try the following?

Remove SQLite.framework from your target.
Link to libsqlite3.dylib instead.
Copy the SQLite.swift Swift files into your project and make sure they are included in your target.
Add #import <sqlite.h> to your bridging header.

I followed the steps you mentioned. I got this error this time:

BTW, I submitted the app using C/C++ interface of SQLite inside Objective-C. :(

@tdgunes Ah, I'll rename those today, as they clash with the Swift module namespace.

Try the latest commit from master if you have the chance.

Stephen,
I experienced this same error on app store submission using an alternate sqlite3 wrapper. Can you confirm SQLIte.swift will compile with iOS7. If so, can you update your README with explicit considerations/directions for compiling against iOS7.
It looks like a very nice effort.
Thanks,
brian.

I reverted my app to SQLite.swift version, I tried the latest commit from master and it works! :+1:
Well, I have a strict requirement which is the app that I am currently developing must support iOS 7.x, so after reading your commit message "This also allows for iOS 7 support (though I wouldn't recommend it).", it is hard for me to decide whether I should continue developing the app with SQLite.swift or not. I have very few alternatives. All of the other frameworks that I tried for Swift were lacking major features. (For instance, you can not specify custom database in some of them.)
Thanks for your effort and the fix.

Yeah, would appreciate clarification of this statement:

This also allows for iOS 7 support (though I wouldn't recommend it).

Is it not recommended because:
-some bias against iOS7 vs iOS8 - for obvious reasons

you did not test with iOS7 personally, and can not cleanly sanction it
it may experience intermittent behavior
it will run on iOS8, though not on iOS7 or vice versa

My understanding is the SQLite.swift framework was using a dynamic library supported in iOS8 onwards. And this somehow removes the dynamic library in favor of a static library. Though, I might have this wrong.
Any clarifications much appreciated.  I will attempt to integrate today in favor of a current  framework I am using which uses the dynamic lib.

Yeah, would appreciate clarification of this statement:

This also allows for iOS 7 support (though I wouldn't recommend it).

There's nothing that will prevent SQLite.swift from working in iOS 7 other than the fact that the default build instructions are for a framework, and frameworks are not supported in iOS 8. SQLite.swift does not rely on any iOS 8-specific libraries. Before the most recent commit, however, SQLite.swift relied internally on the fact that it would be built as a module (and relied on its own module namespace).
My recommendation for iOS 8 is mostly because I am not using SQLite.swift in iOS 7 projects and thus some maintenance costs may be transferred to you (though I've eaten some of that cost for you already). It will be up to you to inform me when the library no longer works in iOS 7, and you may have to troubleshoot it yourself, or be careful when upgrading to newer versions. The currently published version, however, should work indefinitely (or as long as Apple allows you to submit iOS 7 apps).

Some clarification if possible might help my understanding.
If in Xcode 6. I specify Deployment target 8.0 in General settings pane.
then select Base SDK 8.2 in Build Settings,  this implies I am requiring the user to have 8.0 and above I believe.
Does iOS7 come into play. It seems iTune connect is requiring iOS7 compatibility which I remain unused in my application.
So, for myself I do not intend to run in iOS7. So, do not intend to compile nor test in that release.
Is this accepted/valid, connect compatible?
Just want to make sure I understand, before beginning the port...

On Jan 28, 2015, at 8:12 AM, Stephen Celis<EMAIL_ADDRESS>wrote:
Yeah, would appreciate clarification of this statement:
This also allows for iOS 7 support (though I wouldn't recommend it).
There's nothing that will prevent SQLite.swift from working in iOS 7 other than the fact that the default build instructions are for a framework, and frameworks are not supported in iOS 8. SQLite.swift does not rely on any iOS 8-specific libraries. Before the most recent commit, however, SQLite.swift relied internally on the fact that it would be built as a module (and relied on its own module namespace).
My recommendation for iOS 8 is mostly because I am not using SQLite.swift in iOS 7 projects and thus some maintenance costs may be transferred to you (though I've eaten some of that cost for you already). It will be up to you to inform me when the library no longer works in iOS 7, and you may have to troubleshoot it yourself, or be careful when upgrading to newer versions. The currently published version, however, should work indefinitely (or as long as Apple allows you to submit iOS 7 apps).
—
Reply to this email directly or view it on GitHub https://github.com/stephencelis/SQLite.swift/issues/51#issuecomment-71862096.

@appsird I'm not aware of any iOS 7 requirement as long as your Deployment Target is 8.0.

Closing this for now. More documentation would be helpful, but the support is there.


Introduce a separate class for formatting shortcuts

Formatting a shortcut (ie. producing a string description of its modifiers or keys) should be refactored into a standalone clas. This will give use options (⌘^ or Command-Control, uppercase or lowercase, ASCII or Unicode) and is simply the right thing to do. Since formatting depends on the active keyboard layout (see the spec), it would be great to turn this into an explicit setting. That way we could then run automated formatting tests with various keyboard layouts – and we could also probably write automated tests for code that depends on shortcut formatting, such as shortcut validation (see #62).
The keyCodeString property could then be simply deprecated and later removed, or we could make it call a shared default formatter with the appropriate settings. The keyCodeStringForKeyEquivalent should be probably deprecated, since it’s only used during validation. It’s also used when somebody wants to assign a shortcut as a key equivalent of a menu item, but that use case would be better served directly by a category on NSMenuItem (maybe even bindable).

The TISCopyInputSourceForLanguage function looks interesting. We could wrap TISInputSourceRef into a MASInputSource class and create initializers like +inputSourceForLanguage: and +currentInputSource. The future MASShortcutFormatter class would then take an input source (MASInputSource*) as an argument, defaulting to +currentInputSource.


Update RCTHttpServer.m

Fixes #11  by adding back the deleted line from previous commit

@ahlun Thank you for your contribution!


Suddenly getting AttributeError?

The 2.0 release of this library introduced a number of breaking changes in the API. We've written a migration guide here: https://pyairtable.readthedocs.io/en/2.0.0/migrations.html
If you see errors like this:

'Table' object has no attribute 'table_url'
'Table' object has no attribute 'table_name'
'Table' object has no attribute 'base_id'

...or something like it, then you probably have an unpinned dependency in your project. You should update your project's dependencies to be pinned to version 1.x until you have a chance to upgrade. Whether you use setuptools, pipenv, poetry, or just requirements.txt, a version specifier like pyairtable~=1.5 or pyairtable>=1.5,<2.0 should ensure you stay on a compatible version until you're ready to upgrade.
(This issue should remain open and pinned to the top of the issues list for some time after the 2.0 release.)

It's been a while. I'm going to unpin and close this issue.


Texture positioning

Currently, textures get drawn starting from the top-left coordinate, in the area to the bottom/right.
When an ingame-unit with size (10, 10) is at location (100, 100), you therefore have to manually set the location to (100-10/2, 100-10/2), in order to center is correctly.
What if we added a Positioning member of the RenderComponent struct? By default, it would be TopLeft, but would allow the option of Centered?
This would make creating games a lot easier (and the code would look better).
Thoughts, @paked @otraore ?

SGTM

Same question.It's better use the bottom/left coordinate.

I did something similar to this back when I was playing with engo months ago. The repository is a mess, so ignore how horrible it is, but: https://github.com/lukevers/arp147/blob/b91d66269358b89d063119ac16a592bae66fb856/src/arp147/ui/position.go

SpaceComponent now has Center() and SetCenter() which does this. For any corner, such as bottom left, it shouldn't be too hard to write a function yourself that just sets it using that corner from the position and width or height.


500 error on client-side render: devalue.stringify fails to generate valid JSON in utils.js:serialize_data_node()

Describe the bug
a load() handler returns lots of strings, some of which contain extended characters.
in serialize_data_node(), svelte uses devalue to turn it into a json string.
	const stringified = devalue.stringify(node.data);

later, on the client,  response.json() gets called and fails because the json is invalid.
Reproduction
I have a 30k line payload causing the trouble... so its' a bit hard to pinpoint it, but you can get an idea of what can cause the problem with this toy snippet, which reproduces the basic problem:
> JSON.parse(devalue.stringify(decoder.write(Buffer.from([0x00,0x11]))))

> const devalue = await import('devalue');
> const { StringDecoder } = require('node:string_decoder');
> const decoder = new StringDecoder('utf8');

// intentionally bad input string:
> devalue.stringify(decoder.write(Buffer.from([0x00,0x11])))
'["\\u0000\x11"]'
> JSON.parse(devalue.stringify(decoder.write(Buffer.from([0x00,0x11]))))
Uncaught SyntaxError: Unexpected token ◄ in JSON at position 8

// expected it would roundtrip fine like built-in:
> JSON.parse(JSON.stringify(decoder.write(Buffer.from([0x00,0x11]))))
'\x00\x11'

Logs
I get a variety of errors on the client, depending on which character is bad

Bad control character in string literal in JSON at position 18230
Uncaught SyntaxError SyntaxError: Unexpected token  in JSON at position 18168

System Info
node: 'v16.19.0'
devalue: "4.2.0",
svelte: "3.55.0",

Severity
serious, but I can work around it
Additional Information
No response

https://github.com/Rich-Harris/devalue/issues/6

Are you serving your app in a way that it is not getting the appropriate charset=utf-8 part of the Content-Type header? That was the situation I was trying to deal with in that devalue issue.

This should've been fixed by https://github.com/Rich-Harris/devalue/pull/57, at least as far as devalue won't generate JSON with invalid characters,
but your HTML of course needs to have the correct encoding set for the embedding HTML document to parse correctly as well

Closing this as I cannot reproduce the error from the code snippet using the latest version of devalue 5.1.1


Support custom formatting when printing trie

When printing the trie it comes with a pre-defined format and structure.
● <IP_ADDRESS>/0 (4)
└─● <IP_ADDRESS>/24 (3)
  └─● <IP_ADDRESS>/29 (2)
    └─● <IP_ADDRESS> (1)

We have some use cases where we would like to output the trie in both CSV, and YAML for various reporting and integrations in to other systems. Obviously we could iterate over the entire trie, although a preferred approach would be to support providing a custom func for formatting.

I believe I can picture how a trie would look in yaml, possibly similar to the above string format, but in CSV I don't know how you would represent a trie.

To give some more context we are retrofitting our internal tooling to use your library as it is far superior in functionality to what we already have (thanks for this by the way!). We already have a custom "schema" which is based on yaml, with in-line comments to represent metadata (a bit of a hack). With CSV output I'm thinking it would be similar, except without the indenting to indicate the hierarchy.
example yaml structure:
<IP_ADDRESS>/0:
  <IP_ADDRESS>/8: #[alias=aws-prod-usw1, environment=production, cloud=aws, region=us-west-1]
    <IP_ADDRESS>/13: #[owner=team-a, account=1122334455, type=vpc]
      <IP_ADDRESS>/16: public-az1 #[type=subnet, zone=public]
      <IP_ADDRESS>/16: public-az2 #[type=subnet, zone=public]
      <IP_ADDRESS>/16: public-az3 #[type=subnet, zone=public]
      <IP_ADDRESS>/16: private-az1 #[type=subnet, zone=private]
      <IP_ADDRESS>/16: private-az2 #[type=subnet, zone=private]
      <IP_ADDRESS>/16: private-az3 #[type=subnet, zone=private]

example csv structure:
<IP_ADDRESS>/0
<IP_ADDRESS>/8,alias=aws-prod-usw1,environment=production,cloud=aws,region=us-west-1
<IP_ADDRESS>/13,owner=team-a,account=1122334455,type=vpc
<IP_ADDRESS>/16,type=subnet,zone=public
...

I have an account at your company and have used its services, so hey, why not, the trie printing can probably be generalized.

Having given this some thought, I now realize that this can be done easily and efficiently with existing methods, specifically iterator methods.  That is what the existing trie string method does.
The use of iterators is rather simple.  You can see in the examples below, most of the code is formatting each line.  The node iterators provide a lot of flexibility, because you can choose any of the different iterators to print in different orderings, and you have access to all the data you need.
For the current trie string, the pre-order traversal with lower node first provides the same ordering, and the iterator for that ordering is provided by the method ContainingFirstAllNodeIterator.  If you only wanted to print the nodes explicitly added to the trie, you could use ContainingFirstIterator instead.  There are some diagrams in the Java docs illustrating six of the 8 available orderings.
First I show how to rewrite the existing tree string method, but instead of using indentation strings, it uses the chain of parent nodes of each node.  This example shows how to provide all the possible context you might need when printing.
func printTrieUsingIterator[T ipaddr.TrieKeyConstraint[T], V any](
	trie *ipaddr.AssociativeTrie[T, V]) string {
	builder := strings.Builder{}
	builder.WriteString("\n")
	iter := trie.ContainingFirstAllNodeIterator(true)
	for node := iter.Next(); node != nil; node = iter.Next() {
		// print the correct indentation
		var parents []*ipaddr.AssociativeTrieNode[T, V]
		for parent := node.GetParent(); parent != nil; parent = parent.GetParent() {
			parents = append(parents, parent)
		}

		currentLen := len(parents) - 1
		for currentLen > 0 {
			parent := parents[currentLen]
			below := parents[currentLen-1]
			if parent.GetLowerSubNode() == below && parent.GetUpperSubNode() != nil {
				builder.WriteString(inBetweenElbows)
			} else {
				builder.WriteString(belowElbows)
			}
			parents = parents[:currentLen]
			currentLen--
		}

		// print the final indent
		if len(parents) == 1 {
			parent := parents[0]
			if parent.GetLowerSubNode() == node && parent.GetUpperSubNode() != nil {
				builder.WriteString(leftElbow)
			} else {
				builder.WriteString(rightElbow)
			}
		}

		// print the node
		builder.WriteString(node.String())
		builder.WriteString("\n")
	}
	return builder.String()
}

const (
	nonAddedNodeCircle = "\u25cb"
	addedNodeCircle    = "\u25cf"

	leftElbow       = "\u251C\u2500" // |-
	inBetweenElbows = "\u2502 "      // |
	rightElbow      = "\u2514\u2500" // --
	belowElbows     = "  "
)

This can be made more efficient using the iterator caching functionality, so that the parents of each node do not have to be followed each time.  Instead, we cache the chain of parents with each sub-node as we visit each node.
func printTrieUsingIterator2[T ipaddr.TrieKeyConstraint[T], V any](
	trie *ipaddr.AssociativeTrie[T, V]) string {
	builder := strings.Builder{}
	iter := trie.ContainingFirstAllNodeIterator(true)
	for node := iter.Next(); node != nil; node = iter.Next() {
		// print the correct indentation
		var originalParents []*ipaddr.AssociativeTrieNode[T, V]
		if cachedParents := iter.GetCached(); cachedParents != nil {
			originalParents = cachedParents.([]*ipaddr.AssociativeTrieNode[T, V])
		}

		parents := originalParents
		currentLen := len(parents) - 1
		for currentLen > 0 {
			parent := parents[0]
			below := parents[1]
			if parent.GetLowerSubNode() == below && parent.GetUpperSubNode() != nil {
				builder.WriteString(inBetweenElbows)
			} else {
				builder.WriteString(belowElbows)
			}
			parents = parents[1:]
			currentLen--
		}

		// print the final indent
		if len(parents) == 1 {
			parent := parents[0]
			if parent.GetLowerSubNode() == node && parent.GetUpperSubNode() != nil {
				builder.WriteString(leftElbow)
			} else {
				builder.WriteString(rightElbow)
			}
		}

		// print the node
		builder.WriteString(node.String())
		builder.WriteString("\n")

		// cache the extended parents slice
		newParents := append(append(
			make([]*ipaddr.AssociativeTrieNode[T, V], 0, len(originalParents)+1),
			originalParents...), node)
		iter.CacheWithLowerSubNode(newParents)
		iter.CacheWithUpperSubNode(newParents)
	}
	return builder.String()
}

Now we show the same for yaml, which is simpler because less context is needed.
func printTrieYaml[T ipaddr.TrieKeyConstraint[T], V any](trie *ipaddr.AssociativeTrie[T, V]) string {
	builder := strings.Builder{}
	iter := trie.ContainingFirstAllNodeIterator(true)
	for node := iter.Next(); node != nil; node = iter.Next() {
		parentCount := 0
		for parent := node.GetParent(); parent != nil; parent = parent.GetParent() {
			parentCount++
		}
		if parentCount == 0 { // top node
			builder.WriteString("---\n")
		} else if parentCount > len(spaces) {
			spaces += spaces
		}
		builder.WriteString(spaces[:parentCount])
		builder.WriteString(node.GetKey().String())
		builder.WriteString(fmt.Sprintf(": %v\n", node.GetValue()))
	}
	return builder.String()
}

var spaces = "                                " // 32 spaces

Here we show the caching functionality, making the traversal more efficient.
func printTrieYaml2[T ipaddr.TrieKeyConstraint[T], V any](trie *ipaddr.AssociativeTrie[T, V]) string {
	builder := strings.Builder{}
	iter := trie.ContainingFirstAllNodeIterator(true)
	for node := iter.Next(); node != nil; node = iter.Next() {
		parentCount := 0
		if cachedDepth := iter.GetCached(); cachedDepth != nil {
			parentCount = cachedDepth.(int)
		}
		if parentCount == 0 { // top node
			builder.WriteString("---\n")
		} else if parentCount > len(spaces) {
			spaces += spaces
		}
		builder.WriteString(spaces[:parentCount])
		builder.WriteString(node.GetKey().String())
		builder.WriteString(fmt.Sprintf(": %v\n", node.GetValue()))
		newDepth := parentCount + 1
		iter.CacheWithLowerSubNode(newDepth)
		iter.CacheWithUpperSubNode(newDepth)
	}
	return builder.String()
}

Finally, we show csv, where no context is needed when printing each line.
func printTrieCsv[T ipaddr.TrieKeyConstraint[T], V any](trie *ipaddr.AssociativeTrie[T, V]) string {
	builder := strings.Builder{}
	iter := trie.ContainingFirstAllNodeIterator(true)
	for node := iter.Next(); node != nil; node = iter.Next() {
		builder.WriteString(node.GetKey().String())
		builder.WriteString(fmt.Sprintf(",%v\n", node.GetValue()))
	}
	return builder.String()
}

If you were to further generalize this, you might use something like this which does the iterating for you:
func printTrie[T ipaddr.TrieKeyConstraint[T], V any](
	trie *ipaddr.AssociativeTrie[T, V],
	writer io.StringWriter,
	nodePrinter func(
		writer io.StringWriter,
		iter ipaddr.CachingTrieIterator[*ipaddr.AssociativeTrieNode[T, V]],
		node *ipaddr.AssociativeTrieNode[T, V])) {
	iter := trie.ContainingFirstAllNodeIterator(true)
	for node := iter.Next(); node != nil; node = iter.Next() {
		nodePrinter(writer, iter, node)
	}
}

and then the nodePrinter functions would be equivalent to the content of the for loops in printTrieCsv or  printTrieYaml.  But I am not so sure there is much benefit to this, I don't think it would shrink or simplify the code much, if at all.

Further expanding on that...
If you were to further generalize this, to support as you say a "custom func for formatting", it might be something like this which does the iterating for you:
// uses ipaddr.CachingTrieIterator
func printTrieContainingFirst[T ipaddr.TrieKeyConstraint[T], V any](
	writer io.StringWriter,
	iter ipaddr.CachingTrieIterator[*ipaddr.AssociativeTrieNode[T, V]],
	nodePrinter func(
		writer io.StringWriter,
		iter ipaddr.CachingTrieIterator[*ipaddr.AssociativeTrieNode[T, V]],
		node *ipaddr.AssociativeTrieNode[T, V])) {
	for node := iter.Next(); node != nil; node = iter.Next() {
		nodePrinter(writer, iter, node)
	}
}

And to support any trie ordering, you'd want this, in which case you'd not have the top-down caching functionality available:
// uses any iterator
func printTrie[T ipaddr.TrieKeyConstraint[T], V any](
	writer io.StringWriter,
	iter ipaddr.Iterator[*ipaddr.AssociativeTrieNode[T, V]],
	nodePrinter func(
		writer io.StringWriter,
		node *ipaddr.AssociativeTrieNode[T, V])) {
	for node := iter.Next(); node != nil; node = iter.Next() {
		nodePrinter(writer, node)
	}
}

and when using this, the nodePrinter functions would be equivalent to the content of the for loops in printTrieCsv2 or  printTrieYaml2 above, like so:
func printTrieCsv3[T ipaddr.TrieKeyConstraint[T], V any](trie *ipaddr.AssociativeTrie[T, V]) string {
	builder := strings.Builder{}
	printTrieContainingFirst(
		&builder,
		trie.ContainingFirstAllNodeIterator(true),
		func(writer io.StringWriter,
			iter ipaddr.CachingTrieIterator[*ipaddr.AssociativeTrieNode[T, V]],
			node *ipaddr.AssociativeTrieNode[T, V]) {

			builder.WriteString(node.GetKey().String())
			builder.WriteString(fmt.Sprintf(",%v\n", node.GetValue()))
		},
	)
	return builder.String()
}

func printTrieYaml3[T ipaddr.TrieKeyConstraint[T], V any](trie *ipaddr.AssociativeTrie[T, V]) string {
	builder := strings.Builder{}
	printTrieContainingFirst(
		&builder,
		trie.ContainingFirstAllNodeIterator(true),
		func(writer io.StringWriter,
			iter ipaddr.CachingTrieIterator[*ipaddr.AssociativeTrieNode[T, V]],
			node *ipaddr.AssociativeTrieNode[T, V]) {

			parentCount := 0
			if cachedDepth := iter.GetCached(); cachedDepth != nil {
				parentCount = cachedDepth.(int)
			}
			if parentCount == 0 { // top node
				builder.WriteString("---\n")
			} else if parentCount > len(spaces) {
				spaces += spaces
			}
			builder.WriteString(spaces[:parentCount])
			builder.WriteString(node.GetKey().String())
			builder.WriteString(fmt.Sprintf(": %v\n", node.GetValue()))
			newDepth := parentCount + 1
			iter.CacheWithLowerSubNode(newDepth)
			iter.CacheWithUpperSubNode(newDepth)
		},
	)
	return builder.String()
}

But I am not so sure there is much benefit to this, as you can see it does not shrink or simplify the code much, if at all.  So I am skeptical I will add printTrieContainingFirst or printTrie to the library, since they are small, and they don't really add much, as far as I can tell, although I might give it a bit more thought.

Appreciate the detailed response @seancfoley! As mentioned, we were already iterating over the trie, although we weren't taking advantage of the caching approach so thanks for showing that!
I agree with your findings, the current functions expose the adequate control over templating and that a custom function for formatting doesn't actually reduce the amount of code needed to be provided in the first place.
What might be useful for others who use this library, and to increase the discoverability is to document some of the examples you've provided above in the wiki?

Added an example.


[Doc]: adding Stargazers and Forkers section to readme.md

adding Stargazers and Forkers section to readme.md
use case
Stargazers highlight the GitHub users' profiles who starred the repository.
And forkers show the people who have already forked the repository

please @openTekHub assign me and add all the labels
gssoc
hacktoberfest
level 2 or level 3


57 as a developer i will create css styling for the navbar

updated nav bar

Complete, this broke the styling of another PR.


[Feature]: Insert sub domains on data science page

Is your feature request related to a problem? Please describe.

https://www.nsccbpit.tech/dataScience
In the data science main page currently no sub domains are there. For other domains such as web and ai/ml sub-domains are mentioned in those pages
add all the subdomains, tools and technologies needed to learn data science. Inspiration can be taken from other domains' pages.
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

I could do this. @pradeeptosarkar

resolved


mandatory lowering passes crash on windows

We are working around it with this and its uses.  See also https://github.com/hylo-lang/Swifty-LLVM/issues/24

We are now in a good position to try to debug this using the debug builds at https://github.com/hylo-lang/llvm-build.

Something I posted earlier at https://app.slack.com/client/T01MEFG0ECE/C044ANVB2CF might be useful.


chore: bdd-nh-1590479805 to 0.0.1

chore: Promote bdd-nh-1590479805 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Align the resume building cards on center

Closes
@Vaishnavi-Patil2211 Can you please review it?
solves #1415

Closes #issue_number

Description

Screenshots

Note to reviewers

Checklist:

[ ] I have linked the PR to the correct issue.
[ ] I have read the Contribution Guidelines
[ ] I have built and tested the changes, and they do not break or show any errors.

Solve merge conflict

Done


Instructions: mention that one can edit the properties of a packet

Although young people will find this out probably much faster than I did it might be beneficial to tell them how to edit the properties of a packet they generated.

I think the "Level Objectives" section on Basics 2 should account for this (it's pretty wordy already)

I worded this issue badly

I was not talking about packets "on the fly" - the properties of those you can see as stated in Basics 2
instead I was talking about the packet template (see red arrow below). It was rather by accident that I discovered the possibility to edit that template


Docker 1.12 swarm mode multi-manager setup does not tolerate node failures

Output of docker version:
Client:
 Version:      1.12.0-rc3
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   91e29e8
 Built:        Sat Jul  2 00:15:19 2016
 OS/Arch:      linux/amd64
 Experimental: true

Server:
 Version:      1.12.0-rc3
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   91e29e8
 Built:        Sat Jul  2 00:15:19 2016
 OS/Arch:      linux/amd64
 Experimental: true

Output of docker info:
Containers: 1
 Running: 1
 Paused: 0
 Stopped: 0
Images: 1
Server Version: 1.12.0-rc3
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 10
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null host bridge overlay
Swarm: active
 NodeID: bqb7y2x9yixyfvlm1cba1ackz
 IsManager: Yes
 Managers: 3
 Nodes: 3
 CACertHash: sha256:1f0ee0ef3bda17565d3a6cc9690ea3ae059a3819945dd864656b277c9068c77a
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 3.16.0-4-amd64
Operating System: Debian GNU/Linux 8 (jessie)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.469 GiB
Name: buddy-docker-02
ID: NGBD:3EYW:26LC:RIL7:JNF3:Z2E6:ZS7H:A56E:XDAH:PFHM:JF4V:L3VV
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No memory limit support
WARNING: No swap limit support
WARNING: No kernel memory limit support
WARNING: No oom kill disable support
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
Experimental: true
Insecure Registries:
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):
Virtualized sandbox environment based on Vagrant / debian/jessie64.
Steps to reproduce the issue:

Install Docker 1.12 on three nodes (n01, n02, n03).
Initialize the swarm on n01: docker swarm init --listen-addr <n01_ip>:2377 --auto-accept worker --auto-accept manager
On n2, join the cluster: docker swarm join --manager --listen-addr <n02_ip>:2377 <n01_ip>:2377
On n3, join the cluster: docker swarm join --manager --listen-addr <n03_ip>:2377 <n02_ip>:2377
Create a service: docker service create --constraint ‘affinity:container!=nginx*’ --replicas 3 --name nginx -p 80:80 nginx

$ docker service ls
ID            NAME   REPLICAS  IMAGE  COMMAND
bu0mnmlqifiv  nginx  3/3       nginx

$ docker node ls
ID                           HOSTNAME  MEMBERSHIP  STATUS  AVAILABILITY  MANAGER STATUS
2ga9bs069m8h7808iizq3fym2 *  n01       Accepted    Ready   Active        Reachable
8l9b2q8l6xtwuqjcfcb43fg2p    n03       Accepted    Ready   Active        Leader
bqb7y2x9yixyfvlm1cba1ackz    n02       Accepted    Ready   Active        Reachable

Kill n01

On n02 and n03:

docker node ls
ID                           HOSTNAME  MEMBERSHIP  STATUS  AVAILABILITY  MANAGER STATUS
2ga9bs069m8h7808iizq3fym2    n01       Accepted    Down    Active        Reachable
8l9b2q8l6xtwuqjcfcb43fg2p *  n03       Accepted    Ready   Active        Reachable
bqb7y2x9yixyfvlm1cba1ackz    n02       Accepted    Down    Active        Leader

I.e., the leader is marked as down (although it isn't), but the remaining manager node marked as active also does not get promoted leader.
Also, all of a sudden, the cluster has become inconsistent and four replicas (instead of three) are running  in the cluster:
On n02:
$ docker service ls
ID            NAME   REPLICAS  IMAGE  COMMAND
bu0mnmlqifiv  nginx  3/3       nginx

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
a346240c79a6        nginx:latest        "nginx -g 'daemon off"   6 minutes ago       Up 6 minutes        80/tcp, 443/tcp     nginx.3.2bpe57wto47t4swnjx4qkqmsb

On n03:
$ docker service ls
ID            NAME   REPLICAS  IMAGE  COMMAND
bu0mnmlqifiv  nginx  3/3       nginx

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
42c8f53a48c7        nginx:latest        "nginx -g 'daemon off"   4 minutes ago       Up 4 minutes        80/tcp, 443/tcp     nginx.1.f2mbb04jmwhkh2vd6nagtjnjp
6358044e79d5        nginx:latest        "nginx -g 'daemon off"   4 minutes ago       Up 4 minutes        80/tcp, 443/tcp     nginx.3.4v5f1z4bup06bxp8e9yj41mqc
7e1e7e955bb7        nginx:latest        "nginx -g 'daemon off"   8 minutes ago       Up 8 minutes        80/tcp, 443/tcp     nginx.2.b483sq8h2whum23se5gx3tv8y

Describe the results you received:
See above.
Describe the results you expected:
I'd expect the cluster to remain consistent, i.e., the two remaining manager nodes should reach a consensus and re-schedule the containers. Both n02 and n03 should show as up as active, one of them should have been elected as leader.
Additional information you deem important (e.g. issue happens only occasionally):
The above setup has been created using a kind of manager daisy chain, i.e., n02 joined n01, n03 joined n02. The problem also occurs if all followers are initially joining n01.

ping @abronan @LK4D4

I have another issue that was created after using the same exact steps @ginkel outlined in Steps to reproduce the issue:
After failing my n01 node with sudo service docker stop the node n01 was then removed from the output of docker node ls however it continues to function properly as a swarm manager.  Also note that my configuration is slightly different as I am using 3 managers (whose availability is drained) and 3 workers.

@ginkel I can't seem to reproduce using master or 1.12.0-rc3. I'm following the same scenario described above and I get (on n2, n3):
~# docker node ls
ID                           HOSTNAME  MEMBERSHIP  STATUS  AVAILABILITY  MANAGER STATUS
0ff2237si59mivnrbmgknzn7h    node02    Accepted    Ready   Active        Reachable
3dlwrztkpolbyzq4473jlfnmt    node01    Accepted    Down    Active        Unreachable
d68wciofy5rgarwb695l2pnvl *  node03    Accepted    Ready   Active        Leader

Also, docker service ls as well as docker ps correctly reports 3 containers and not 4. Noting that service ls reports 2/3 for a few seconds and then reconcile to get 3/3.
Can you systematically reproduce that scenario (especially the Leader being marked as down)? Would you also mind retrying on master to see if that solves the issue? Thanks.
A bit more details: Losing the quorum (2 nodes reported as down on a 3 nodes Manager cluster), will bring the cluster to an inconsistent state until a majority of nodes (in your case 2) recovers and the reconciliation loop figures out what to do (to rebalance and schedule the right amount of tasks). That is why it is recommended to use at least 5 managers to avoid falling into this case.

@abronan Yes, I can easily reproduce the problem (on a system set up from scratch using Vagrant). I'm not sure whether there's anything weird with my Vagrant/VirtualBox setup that serves as a testbed. There might be one special thing: The VMs have two ethernet interfaces: eth0 (NAT) and eth1 (host-only, for node-to-node communication). I'm binding the swarm to eth1 of each node, respectively, so I wouldn't expect any trouble, though...
When n01 goes down, this is all I see in the n02 syslog:
Jul  6 04:50:13 jessie dockerd[18040]: time="2016-07-06T04:50:13.833901768Z" level=info msg="2016/07/06 04:50:13 [INFO] memberlist: Suspect n01 has failed, no acks received\n"
Jul  6 04:50:14 jessie dockerd[18040]: time="2016-07-06T04:50:14.834208676Z" level=info msg="2016/07/06 04:50:14 [INFO] memberlist: Suspect n01 has failed, no acks received\n"
Jul  6 04:50:16 jessie dockerd[18040]: time="2016-07-06T04:50:16.832184549Z" level=info msg="2016/07/06 04:50:16 [INFO] memberlist: Suspect n01 has failed, no acks received\n"
Jul  6 04:50:17 jessie dockerd[18040]: time="2016-07-06T04:50:17.315493373Z" level=info msg="2016/07/06 04:50:17 [INFO] memberlist: Marking n01 as failed, suspect timeout reached\n"

Would it help if I could share my Vagrantfile (+ Ansible playbook)?
Is there a Debian repo with packages built from master (or installation instructions how to install master from scratch)? That would really help getting the scenario reproduced on master.
Thanks for your help!

I did a further test with five nodes: For the sake of simplicity, n02 joined through n01 and n03..n05 joined through n02.
This is the cluster state after killing n01 (observed on n02):
ID                           HOSTNAME  MEMBERSHIP  STATUS  AVAILABILITY  MANAGER STATUS
29ol9ym69g6fxouy4h6uu941h    n04       Accepted    Ready   Active        Reachable
5s33rmkcv6x8hd8v7n7lwelwj    n03       Accepted    Ready   Active        Reachable
bedho8pmgc8ff1z2fh5pkj3ta    n05       Accepted    Ready   Active        Leader
erwv19q5dhv3tw06u2eqbnt49 *  n02       Accepted    Down    Active        Reachable
esn2ngrge9xpa843qev8t1eyp    n01       Accepted    Down    Active        Reachable

To me this looks as if n02 stays bound to n01 as its upstream and does not attempt to locate a new manager as soon as n01 is gone.

Marking this a P1 until it's clear what is causing this

I put my test setup into a Git repo: https://github.com/tgbyte/docker-issue-24329
Requires Ansible on the host (I used v<IP_ADDRESS>).
This is currently untested as I had to strip down my original version and am currently in a train with pretty bad WiFi, which makes running Vagrant somewhat tricky. ;-) I'll be back later today and will add another comment once I have verified the setup works.

I think the issue here is that when you take down n01, it's not closing the TCP connections between n01 and the other nodes. We use the status of this connection to judge manager reachability and worker status, so it would explain the strange results in node ls like n01 still being reachable.
The worker does not appear to put a timeout on its RPC call that sends heartbeats to the manager. So I believe this call is hanging because the manager is no longer responsive, but the TCP connection has not been torn down.
I will submit PRs to the swarmkit repository to:

Add a timeout on the worker-to-manager heartbeat, so reaching this timeout causes the worker to fail over to another manager.
Make raft clustering (used by managers) more intelligent about determining reachability.

Thanks for reporting this.

https://github.com/docker/swarmkit/pull/1136 was merged, so I think this should be fixed upon the next SwarmKit vendoring update

@aaronlehmann That sounds plausible as I killed n01 by just turning off the VM the hard way, so TCP/IP connections certainly did not have a chance to be shut down in a controlled fashion.
Thanks for the speedy resolution! :-)
BTW, if there is a feasible way for me to re-test the fix before 1.12 is released, please let me know.

Fixed by #23312

Fixed by #24459.

I can confirm that this is fixed as of rc4. Thanks for the speedy bugfix! :-)


Create an intro

Add an intro about yourself: who are you, what is your strength, why are you here.

Please, could you clasify, do I need to make it like a list or in free form?

Sure, you can do it as you want where it's a list or just a paragraph of text

Ok, I understood, thanks


Treat BlockExpr as a potential module origin

A block containing inner items acts like the root module of a crate, so it needs to be representable as a ModuleSource and ModuleOrigin.

bors r+

bors r+


[usockets] update to 0.8.3

Library name: usockets
New version number: 0.8.3
With 0.8.2 uwebsockets 20.31 doesn't build.
release note: https://github.com/uNetworking/uSockets/releases/tag/v0.8.3
uWebSockets >= 20.31.0 depends on uSockets 0.8.3.
Current vcpkg has uWS v20.31.0 and uSockets 0.8.2, which results in compile error.

Current vcpkg has uWS v20.31.0 and uSockets 0.8.2, which results in compile error.

Can you tell more about this error? In vcpkg CI, both ports compile without error.

@nbkolchin, please try to git clone my branch and try if it solves your error.


Directive ngModel inside ui.materialize.ngModel module may affect the performance of whole application

In my app I used this library. When I profiled with chrome devtools, it showed 30% of the cpu time was taken by the code given below.
$timeout(function() {
    // To stop an infinite feedback-loop with material multiple-select.
    if (value instanceof Array && oldValue instanceof Array) {
        if (value.length == oldValue.length) {
            return;
        }
    }
    if (element.is('select')) {
        return;
    }
    // This fix is mainly to get placeholders to appear correctly, and it apparently screws things for the selects, so only doing this on something that isn't a select.
    if (value) {
        element.trigger("change");
    } else if (element.attr('placeholder') === undefined) {
        if (!element.is(":focus"))
            element.trigger("blur");
    }
});

Apparently this has been added to fix a bug in multiple-select. Better if we find another approach as this affects the performance.

 But the functionality is needed, so any change must preserve the current functionality.
Pull requests are welcome.


fix Screenshots from IOS Risk Card

##Description:
This PR fixe screenshots to make it with the new update (Release 3.0)
##Screenshots:
from :

to :

This partly fixes https://github.com/corona-warn-app/cwa-website/issues/3342

Fixes for issue #3342 will be handled in #3355 from now on. Thanks for the PR / review.


Defense in depth changes for potential $PSNativeCommandArgumentPassing problems

These tasks did not run in the last release as a PowerShell problem prevented them from executing. After some investigation it's possible that these tasks/scripts might be affected by the recent PowerShell upgrade and so this change increases the chances that these commands will work.

/check-enforcer override


Better std.algorithm.searching.all error messages

the first one required one. So I would say yes.

This breaks the fix for https://issues.dlang.org/show_bug.cgi?id=13683


Arcade app : Community Games can't open in editor

Describe the bug
Arcade app : Community Games can't open in editor
Steps to reproduce the behavior
1.Download app in https://makecode.com/api/release/arcade/v1.0.16/win64
2.Click any Community Games
Expect behavior
Community Games can open in editor
Actual behavior
Arcade app : Community Games can't open in editor. There shows error "Network request failed; you appear to be offline"

Additional context
1.OS: Windows(rs6)
2.arcade version: 1.0.16
3.Microsoft MakeCode version: 6.1.42

it looks like there's a discourse setting for allowed origins that controls the access-control-allow-origin header on api requests, as it's sending the response with that header set to either arcade.makecode.com or localhost:3232 depending on the origin. The same error comes up after serving with pxt serve --rebundle --port 52355 / any other random value.
I don't have access to the discourse settings, @pelikhan @riknoll could either of you confirm / check if there's an easy way to allow localhost:* or something similar?

This is fixed?


Issue with scatter step

I have a workflow with a scatter step and received this error at the end of the logs:
...
WARNING:toil.resource:Can't globalize module ModuleDescriptor(dirPath='/home/johnsoni/virtualenv/lib/python2.7/site-packages', name='toil.cwl.cwltoil', fromVirtualEnv=True).
DEBUG:toil.resource:Module dir is /home/johnsoni/virtualenv/lib/python2.7/site-packages
WARNING:toil.resource:Can't globalize module ModuleDescriptor(dirPath='/home/johnsoni/virtualenv/lib/python2.7/site-packages', name='toil.cwl.cwltoil', fromVirtualEnv=True).
DEBUG:toil.fileStore:LOG-TO-MASTER: Job a/g/jobJYZgex/g/tmpmuHQt5.tmp used 0.00% (4.5 KB [4608B] used, 10.0 GB [10737418240B] requested) at the end of its run.
Traceback (most recent call last):
  File "/home/johnsoni/virtualenv/lib/python2.7/site-packages/toil/worker.py", line 313, in workerScript
    job._runner(jobGraph=jobGraph, jobStore=jobStore, fileStore=fileStore)
  File "/home/johnsoni/virtualenv/lib/python2.7/site-packages/toil/job.py", line 1327, in _runner
    returnValues = self._run(jobGraph, fileStore)
  File "/home/johnsoni/virtualenv/lib/python2.7/site-packages/toil/job.py", line 1272, in _run
    return self.run(fileStore)
  File "/home/johnsoni/virtualenv/lib/python2.7/site-packages/toil/cwl/cwltoil.py", line 583, in run
    copyjob[sc] = cwljob[sc][i]
IndexError: list index out of range
...

The workflow contains two scatter steps, and this error seems to happen after the first step is successful, but before starting the second step:

steps:

  umi_clipping:
    run: ../cwl_tools/marianas/ProcessLoopUMIFastq.cwl
    in:
      fastq1: fastq1
      fastq2: fastq2
      sample_sheet: sample_sheet
      umi_length: umi_length
      output_project_folder: output_project_folder
    out: [processed_fastq_1, processed_fastq_2, info, output_sample_sheet, umi_frequencies]
    scatter: [fastq1, fastq2, sample_sheet]
    scatterMethod: dotproduct

  module_1:
    run: ./module-1.cwl
    in:
      tmp_dir: tmp_dir
      fastq1: umi_clipping/processed_fastq_1
      fastq2: umi_clipping/processed_fastq_2
      adapter: adapter
      adapter2: adapter2
      reference_fasta: reference_fasta
      reference_fasta_fai: reference_fasta_fai
      add_rg_LB: add_rg_LB
      add_rg_ID: add_rg_ID
      add_rg_PU: add_rg_PU
      add_rg_SM: add_rg_SM
      add_rg_CN: add_rg_CN
      add_rg_PL: add_rg_PL
      md__create_index: md__create_index
      md__assume_sorted: md__assume_sorted
      md__compression_level: md__compression_level
      md__validation_stringency: md__validation_stringency
      md__duplicate_scoring_strategy: md__duplicate_scoring_strategy
    out: [bam, bai, md_metrics]
    scatter: [fastq1, fastq2, adapter, adapter2, add_rg_LB, add_rg_ID, add_rg_PU, add_rg_SM]
    scatterMethod: dotproduct

Any suggestions to help me debug would be appreciated!
Versions
toil==3.15.0
cwltool==1.0.20180306140409

Hello @ionox0  and thank you for your report. Is this reproducible with  just the latest version of cwltool?

Of course, thank you for the response @mr-c . Sorry, I thought I was using the latest version. It looks like there is a 1.0.20180330141240 out now, can I upgrade to this version?

@ionox0 toil-cwl-runner makes use of a specific version of cwltool (and modifies its behavior) so it would be helpful if you could make a new virtualenv with the latest cwltool in it and test there.

Ok thank you. Is it not recommended to upgrade cwltool with pip install cwltool --upgrade? And instead should I always use the version of cwltool that is installed when installing toil-cwl-runner with pip install toil'[cwl]'==3.15.0? In that case I'm not sure how to use the latest cwltool if I'm using toil 3.15.0. Maybe you could pass along the recommended version of both tools?

For toil-cwl-runner from pip install toil[cwl] you should only use the version of cwltool that it has pinned its dependency on https://github.com/BD2KGenomics/toil/blob/master/setup.py#L38
To test with running cwltool instead of toil-cwl-runner, follow https://github.com/common-workflow-language/cwltool#install to make a new virtualenv seperate from your toil installation.
My apologies if this is confusing; it is our fault!

I found that the cause of both of these errors^
The first is caused by the following situation:
# inputs.yaml
# param_1: [list, of, four, items]
# param_2: [list, of, not, four, items]

# workflow.cwl
# step_a:
#   in:
#       a: param_1
#       b: param_2
#   scatter: [param_1, param_2]
#   method: dotproduct

Can't scatter over params with different lengths with method = dotproduct
The second is casused by an incorrect placement of the secondaryFiles parameter:
outputs:
  grouped_bams:
    type:
      type: array
      items:
        type: array
        items: File
      secondaryFiles: ['^.bai']


OSS legal clearance for 1.4

LICENSE and NOTICE files are updated to master branch.
OSL for 1.4.0 tile is ready.
Closing this issue.


:bug: fix(bundler): Use process.cwd() instead of '.'

Description
Didn't seem to be causing issues but using '.' instead of process.cwd() is not idiomatic and may have caused bugs
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

Current dependencies on/for this PR:

main

PR #392

PR #393

PR #394

PR #406

PR #407

PR #408   👈

PR #395

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

main

PR #392

PR #393

PR #394

PR #406

PR #407

PR #408   👈

PR #395

This comment was auto-generated by Graphite.