implement --debug option for configure script

Our use of the CONFIG_SITE file for enabling debug output doesn't work now that we have _FORTIFY_SOURCE and the like enabled @ configure time. These flags require optimizations so they should be disabled for debug builds. We should remove the CONFIG_SITE file completely and replace it with a --debug option to the config script

Desn't commit a3260d8 do this already?

hu, I forgot about that (thought I probably reviewed the patch :). This can then be down-scoped to just moving the specific debug preprocessor stuff (-DDEBUG_SOCKETS) out of the CONFIG_SITE file and into the configure.ac? This is basically set up to aligning our debug mechanisms etc.

I will add the DEBUG_SOCKETS to configure.ac


[Bug] Model paths with windows drive letter cause error in Typescript Worker

Reproducible in vscode.dev or in VS Code Desktop?

[X] Not reproducible in vscode.dev or VS Code Desktop

Reproducible in the monaco editor playground?

[ ] Not reproducible in the monaco editor playground

Monaco Editor Playground Code
const uri = monaco.Uri.file('c:\\test.js');
const model = monaco.editor.createModel('console.log("hi")', 'javascript', uri);
monaco.editor.create(document.getElementById('container'), { model });

Reproduction Steps
Run the reproduction code in playground, then hover a keyword, e.g. console and inspect the error in the developer console:
Uncaught Error: Could not find source file: 'file:///c%3A%5Ctest.js'.

Ve@../../../vs/language/typescript/tsWorker.js:256:8493
An@../../../vs/language/typescript/tsWorker.js:256:14561
getQuickInfoAtPosition@../../../vs/language/typescript/tsWorker.js:33956:3428
fmr@https://microsoft.github.io/monaco-editor/node_modules/monaco-editor/min/vs/base/worker/workerMain.js#javascript:22:33695
_handleMessage@https://microsoft.github.io/monaco-editor/node_modules/monaco-editor/min/vs/base/worker/workerMain.js#javascript:22:17684
handleMessage@https://microsoft.github.io/monaco-editor/node_modules/monaco-editor/min/vs/base/worker/workerMain.js#javascript:22:17309
_handleRequestMessage@https://microsoft.github.io/monaco-editor/node_modules/monaco-editor/min/vs/base/worker/workerMain.js#javascript:22:14120
_handleMessage@https://microsoft.github.io/monaco-editor/node_modules/monaco-editor/min/vs/base/worker/workerMain.js#javascript:22:13570
handleMessage@https://microsoft.github.io/monaco-editor/node_modules/monaco-editor/min/vs/base/worker/workerMain.js#javascript:22:13458
onmessage@https://microsoft.github.io/monaco-editor/node_modules/monaco-editor/min/vs/base/worker/workerMain.js#javascript:22:17401
c/</</</self.onmessage@https://microsoft.github.io/monaco-editor/node_modules/monaco-editor/min/vs/base/worker/workerMain.js#javascript:12:431

Actual (Problematic) Behavior
The error gets thrown, and the quick info will not show up. Other language features also seem to fail.
Expected Behavior
No response
Additional Context
No response

Duplicate of https://github.com/microsoft/monaco-editor/issues/1306

Actually, #1306 was fixed via https://github.com/microsoft/monaco-editor/pull/3057, this seems to be a different problem. I'm pretty sure this is a regression in a recent monaco version, as I believe this worked before...
Is there a way to load the playground with a different monaco-editor version, so I can test it?

I have just encountered this issue as well. When setting model URI values with Windows drive letters causes the colon character to be encoded. This then results in the TypeScript worker failing to find the original source files.


Centos 7 and pdnsmanager version 2

Hi guys
First thank you for your job.
I have already installed and working pdnsmanager on CentOS 7, if you want i can create a manual with the steps.
Second thing, if the version 2.0 in progress or is abandoned ?
Thank you

Hi @santxus I'm having trouble with the /var/www/html permissions with apache in Centos 7. I can't connect to the database, what did you use for the permissions for your pdnsmanager folder?

I figured out, and for anyone else who wants to use Centos 7 and apache it's:
chown -R apache: /var/www/pdnsmanager
chmod g=u -R /var/www/pdnsmanager

It is possible that you can just run the second command and not change the owner, but I did both and it worked.


Adaptive learning: Add learning paths as a new feature for adaptive learning

Checklist
General

[ ] I tested all changes and their related features with all corresponding user types on a test server.
[ ] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] Important: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls.
[x] I followed the coding and design guidelines.
[x] I added multiple integration tests (Spring) related to the features (with a high test coverage).
[x] I added pre-authorization annotations according to the guidelines and checked the course groups for all new REST Calls (security).
[x] I documented the Java code using JavaDoc style.

Client

[x] Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data.
[x] I followed the coding and design guidelines.
[x] Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I added authorities to all new routes and checked the course groups for displaying navigation elements (links, buttons).
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Motivation and Context

To extend the capabilities of Artemis in regards to adaptive learning. This PR introduces learning paths as a new, togglable feature.
Description

This PR

adds a feature toggle for learning paths
adds the management dashboard for learning paths (excluding the details view of the learning path, part of #7027 )
allows instructors to enable learning paths for their course
generates learning path objects for the students of the course

Changes to the domain:

Steps for Testing

Prerequisites:

1 Admin
Course (enrollment allowed)
1 Instructor
>2 Students (the more the merrier, 1 enrolled, 2 not enrolled yet)

Feature Toggle:

Log in to Artemis as Instructor
Navigate to Course Managment and make sure you can't go to the tab Learning Paths
Log in to Artemis as Admin
Navigate to Feature Toggles and enable the Learning Paths feature
Log in to Artemis as Instructor and make sure you can now navigate to the tab Learning Paths

Learning Path Management:

Log in to Artemis as Instructor
Navigate to Course Administration -> Learning Paths
You should see a message that learning paths are not enabled yet
Click the Enable Learning Paths button
The content should load the student's learning paths and display them as a pageable list
Make sure there is a Learning Path for each enrolled student
Try to search for students
Log in to Artemis as a unenrolled Student
Enroll in the course
Log in to Artemis as Instructor
Make sure the newly enrolled student's Learning Path is contained in the List
Manually add a user to the student group of your course
Make sure the student's learning path is now on the list under Learning Path Management

Review Progress

Performance Review

[ ] I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
[ ] I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance

Code Review

[ ] Code Review 1
[ ] Code Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Test Coverage

Client

Class/File
Line Coverage
Confirmation (assert/expect)

user.model.ts
100%
✅

competency-management.component.ts
79.78%
✅

learning-path-management.component.ts
100%
✅

learning-path-paging.service.ts
90.9%
✅

learning-path.service.ts
100%
✅

course-management-tab-bar.component.ts
96.77%
✅

course-management.route.ts
deleted

learning-path-health.model.ts
100%
✅

learning-path.model.ts
100%
✅

course.model.ts
100%
✅

feature-toggle.service.ts
64.7%
✅

navbar.component.ts
89.89%
✅

Server

Class/File
Line Coverage
Confirmation (assert/expect)

Course.java
91%
✅

User.java
90%
✅

Competency.java
79%
✅

LearningPath.java
87%
✅

CompetencyProgressRepository.java
deleted

CourseRepository.java
77%
✅

LearningPathRepository.java
61%
✅

LectureUnitRepository.java
36%
✅

UserRepository.java
92%
✅

CompetencyProgressService.java
91%
✅

CourseService.java
89%
✅

LearningPathService.java
98%
✅

Feature.java
100%
✅

CompetencyResource.java
97%
✅

CourseResource.java
94%
✅

LearningPathResource.java
94%
✅

LearningPathHealthDTO.java
100%
✅

LearningPathPageableSearchDTO.java
100%
✅

UserNameAndLoginDTO.java
100%
✅

PageUtil.java
93%
✅

�
Screenshots

I noticed that when you remove a student from your course, that the learning path is not deleted. Is this intended?

Yes, this is intentional to have consistent behavior across the course. We also don't remove submissions etc.


Need some way to propagate optional fields from satisfies to type it is used on

Suggestion
Give some way to do satisfies-like check checking for type with optional properties and modyfy left-handside type of the check to make these prperties available for access with type never.
Solution 1
Use extends keyword similar to satisfies, but with propagating optional fields with type never to computed type it is used on:
import type { Equal, Expect } from '@type-challenges/utils'

const obj1 = { a: 1, c: 3 } as const   satisfies   Partial<Record<"a" | "b" | "c", number>>;
const obj2 = { a: 1, c: 3 } as const    extends    Partial<Record<"a" | "b" | "c", number>>;
//                                    ^^^^^^^^^^^

type cases = [
  Expect<Equal<typeof obj1, {
    readonly a: 1;
    readonly c: 3;
  }>>,
  Expect<Equal<typeof obj2, {
    readonly a: 1,
    readonly b: never, // <<<<<<<<
    readonly c: 3,
  }>>,
]

Solution 2
Introduce new special type missing that is equvalent of optional never but without appearing in keyof and make satisfies set this type to missing optional properties and propagete it on type it is used on.
import type { Equal, Expect } from '@type-challenges/utils'

const obj = { a: 1, c: 3 } as const satisfies Partial<Record<"a" | "b" | "c", number>>;

type cases = [
  Expect<Equal<typeof obj, {
    readonly a: 1;
    readonly b: missing,
    readonly c: 3;
  }>>,
  Expect<Equal<keyof typeof obj, "a" | "c">>,
  Expect<Equal<keyof { x: number; y: missing }, "x">>,
  Expect<Equal<keyof { x: number; y: never }, "x" | "y">>,
]

const smth1: { x: number, y: missing } = { x: 0 } // Fine
const smth2: { x: number, y?: never } = { x: 0 } // Fine
const smth3: { x: number, y: never } = { x: 0 } // Currently an error

By the way, this type may be useful in many other cases.
🔍 Search Terms
satisfies Partial never
✅ Viability Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
When I use satisfies I actually expect that I can use on an object all kinds of property access that were available on type I'm using for the assertion. However I came up to a situation where I can't. At first I thought it's a bug, but then I realized that "fixing" it will break keyof functionality, so I desided that it would be incorrect to modify satisfies behaviour, so I suggest to use another keyword for this functionality.
Playground
type SomeKeys = "a" | "b" | "c"

type Smth = Partial<Record<SomeKeys, number>>

const obj1 = { a: 1, c: 3 } as const satisfies Smth;

const obj2 = { a: 1, c: 3 } as {
  readonly a: 1,
  readonly b: never,
  readonly c: 3,
} satisfies Smth;

const keys: SomeKeys[] = ["a", "b", "c"]

function f(x: Smth) {
  console.log(keys.map(key => x[key])); // Fine
}

f(obj1); // Fine
console.log(keys.map(key => obj1[key])); // Error

f(obj2); // Fine
console.log(keys.map(key => obj2[key])); // Fine

type K1 = keyof typeof obj1 // Fine: "a" | "c"
type K2 = keyof typeof obj2 // Oops: "a" | "b" | "c"

satisfies Smth on obj1 checkes that key b can be used to index it, anyway as type of obj1 doesn't include key b the code doesn'ty compile with

Element implicitly has an 'any' type because expression of type 'SomeKeys' can't be used to index type '{ readonly a: 1; readonly c: 3; }'.
Property 'b' does not exist on type '{ readonly a: 1; readonly c: 3; }'.(7053)

📃 Motivating Example
In this example it's possible to use type normally without satisfies but I didn't want to overcomplicate an example. I hope it's idea is clear.
Playground
import React from 'react'

type Pages = "home" | "search" | "news" | "profile"

const pages: Pages[] = ["home", "search", "news"]

interface User {
  name: string;
  isRegistered: boolean;
  canSearch: boolean;
}

const canOpenPage = { // Not listed pages are available for everyone
  profile: user => user.isRegistered,
  search: user => user.canSearch,
} as const satisfies Partial<Record<Pages, (user: User) => boolean>>;

function Navigation({ currentUser }: { currentUser: User }) {
  return (

      {pages.map(page => canOpenPage[page]?.(currentUser) === false || (
        <a href={`/${encodeURIComponent(page)}`}>{page})
      )}

  )
}

Should not have error

Element implicitly has an 'any' type because expression of type 'Pages' can't be used to index type '{ readonly profile: (user: User) => boolean; readonly search: (user: User) => boolean; }'.
Property 'home' does not exist on type '{ readonly profile: (user: User) => boolean; readonly search: (user: User) => boolean; }'.

💻 Use Cases
Usages with Partial<Record<...>> and keys enumeration seem the most likely for me.

Your title confused me, as no type in your example has any optional properties. And a property typed never does not mean the property doesn't exist, the property may exist and just throw at runtime.


Re-indent gRPC example

Motivation:
This is my first contribution!
This PR contains only re-indent :)
Modifications:

Re-indent some codes

Result:

The behavior of the code is not affected

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Could you sign our CLA?

Could you sign our CLA?

Oh, thank you for your comment :)
I just signed the CLA.


Update hot-module-replacement.md

Update page to fix spelling of GitHub from GithUb
Changes

There was a spelling mistake in GitHub. It was GithUb which was hurting my brain.

Testing

Not tested due to just a text change
Docs

Yes. That is the whole commit.

haha thank you!!

haha thank you!!


Update Photo.java

User is able to specify online files as Image

Coverage decreased (-0.5%) to 84.594% when pulling 40870d0581ab3c62f987f2796a034c88066a6546 on wenzongteo:v1.5_enhancement into c1200920735c7ad39f154d0037262290a93958fc on CS2103AUG2017-W14-B2:master.


Massively optimizing TaskDriver performance

Optimized TaskDrivers so they won't schedule jobs if no one has written to them.
What is the current behaviour?
TaskDrivers always run their jobs even if there is no data to operate on. This leads to a lot of scheduling overhead that adds up.
What is the new behaviour?
TaskDriverManagementSystem forces a sync after consolidation. This is to prevent issues with circular writing patterns such as:

Write Pending
Consolidate to Active (which gets a write handle to Pending again so we can clear it even though we're not actually writing)
Which will cause the Consolidation to happen again next frame for 0 elements.

By forcing the consolidation, we can also check the length to ensure we actually have data when scheduling.
AbstractData exposes a boolean to let callers know if its data could have been invalidated. If so, it's worth scheduling the job. Otherwise, no one has touched it.
AbstractJobConfig will only schedule jobs if the scheduling data has data to work on.
AbstractDataSource will only consolidate data if there has data to work on.
What issues does this resolve?

None

What PRs does this depend on?

#259

Does this introduce a breaking change?

[ ] Yes
[x] No

@mbaker3 Ready for re-review


Getting field key error for given_name for detail people view

On my local machine:
//<PHONE_NUMBER>4713
// http://<IP_ADDRESS>/ocd-person/076e5dae-ca9a-460a-bcae-7ff925b620d8/

{
  "traceback": "Traceback (most recent call last):\n  File \"/projects/api.opencivicdata.org/src/imago/imago/helpers.py\", line 94, in get_fields\n    ret = {x: fwrap(root[x]) for x in concrete}\n  File \"/projects/api.opencivicdata.org/src/imago/imago/helpers.py\", line 94, in <dictcomp>\n    ret = {x: fwrap(root[x]) for x in concrete}\nKeyError: 'given_name'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/projects/api.opencivicdata.org/virt/lib/python3.4/site-packages/restless/views.py\", line 106, in dispatch\n    response = super(Endpoint, self).dispatch(request, *args, **kwargs)\n  File \"/projects/api.opencivicdata.org/virt/lib/python3.4/site-packages/django/views/generic/base.py\", line 87, in dispatch\n    return handler(request, *args, **kwargs)\n  File \"/projects/api.opencivicdata.org/src/imago/imago/helpers.py\", line 137, in _\n    return fn(self, request, *args, **kwargs)\n  File \"/projects/api.opencivicdata.org/src/imago/imago/helpers.py\", line 122, in _\n    return fn(self, request, *args, **kwargs)\n  File \"/projects/api.opencivicdata.org/src/imago/imago/helpers.py\", line 381, in get\n    related, config = get_fields(self.serialize_config, fields=fields)\n  File \"/projects/api.opencivicdata.org/src/imago/imago/helpers.py\", line 96, in get_fields\n    raise FieldKeyError(*e.args)\nimago.helpers.FieldKeyError: <FieldKeyError: given_name>\n",
  "error": "<FieldKeyError: given_name>"
}

I can't reproduce this - didn't you say you tracked this down to an unrun migration?

Seems like pupa only ran the first migration:
09:51 AM|fgregg-ThinkPad-X201|~/public/opencivicdata/repos/scrapers-us-municipal>pupa dbinit us
no pupa_settings on path, using defaults
Operations to perform:
  Apply all migrations: opencivicdata, pupa
Running migrations:
  Applying pupa.0001_initial... OK
193137 divisions loaded from CSV and  193137 already in DB
no work to be done!

How should I tell pupa to run the second migration here: https://github.com/opencivicdata/python-opencivicdata-django/tree/02dd8120456ba43c1c2f5db80cf79ca9db138063/opencivicdata/migrations

Django should run them all; do you have an old version of Pupa?

Nope. All this work is from the opencivicdata meta repo I cloned two days ago.

Sure, but what version of Pupa are you running?
Does pydoc pupa | grep __init__ output a path with /src/ in it, or is
it your dev path?
On Thu, May 21, 2015 at 1:04 PM, Forest Gregg<EMAIL_ADDRESS>wrote:

Nope. All this work is from the opencivicdata meta repo I cloned two days
ago.
—
Reply to this email directly or view it on GitHub
https://github.com/opencivicdata/imago/issues/53#issuecomment-104356303.

--
Paul Tagliamonte
Software Developer | Sunlight Foundation

'pupa==0.4.1'

github issues cut off my second half
Does `pydoc pupa | grep __init__` output a path with `/src/` in it, or is it your dev path?

Oh, also that migration isn't even in Pupa, it's in python-opencivicdata; what's that at? (same question as above)

> pydoc pupa | grep __init__
/home/fgregg/public/opencivicdata/repos/pupa/pupa/__init__.py

> pydoc opencivicdata | grep __init__

returns nothing
> pydoc opencivicdata
Help on package opencivicdata:

NAME
    opencivicdata

PACKAGE CONTENTS
    admin (package)
    api (package)
    apps
    common
    divisions (package)
    management (package)
    migrations (package)
    models (package)
    tests (package)

FILE
    (built-in)

Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import opencivicdata
>>> opencivicdata.__path__
_NamespacePath(['/home/fgregg/public/opencivicdata/repos/python-opencivicdata-divisions/opencivicdata', '/home/fgregg/public/opencivicdata/.env/src/opencivicdata-django/opencivicdata', '/home/fgregg/public/opencivicdata/.env/src/opencivicdata.api/opencivicdata'])

/home/fgregg/public/opencivicdata/.env/src/opencivicdata-django/opencivicdata
looks pip installed. cd into opencivicdata-django and python setup.py
develop it in your virtualenv
On Thu, May 21, 2015 at 1:22 PM, Forest Gregg<EMAIL_ADDRESS>wrote:

Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.

import opencivicdata
opencivicdata.path
_NamespacePath(['/home/fgregg/public/opencivicdata/repos/python-opencivicdata-divisions/opencivicdata', '/home/fgregg/public/opencivicdata/.env/src/opencivicdata-django/opencivicdata', '/home/fgregg/public/opencivicdata/.env/src/opencivicdata.api/opencivicdata'])

—
Reply to this email directly or view it on GitHub
https://github.com/opencivicdata/imago/issues/53#issuecomment-104361966.

--
Paul Tagliamonte
Software Developer | Sunlight Foundation

Done:
>>> import opencivicdata
>>> opencivicdata.__path__
_NamespacePath(['/home/fgregg/public/opencivicdata/repos/python-opencivicdata-divisions/opencivicdata', '/home/fgregg/public/opencivicdata/.env/src/opencivicdata.api/opencivicdata', '/home/fgregg/public/opencivicdata/repos/python-opencivicdata/opencivicdata'])
>>> import opencivicdata.migrations as m
>>> m.__file__
'/home/fgregg/public/opencivicdata/repos/python-opencivicdata/opencivicdata/migrations/__init__.py'

Running pupa dbinit us does not run any migrations.

but pupa dbinit --reset us DID!

argh! but now
Traceback (most recent call last):
  File "/home/fgregg/public/opencivicdata/.env/bin/pupa", line 9, in <module>
    load_entry_point('pupa==0.4.1', 'console_scripts', 'pupa')()
  File "/home/fgregg/public/opencivicdata/repos/pupa/pupa/cli/__main__.py", line 71, in main
    subcommands[args.subcommand].handle(args, other)
  File "/home/fgregg/public/opencivicdata/repos/pupa/pupa/cli/commands/dbinit.py", line 60, in handle
    call_command('loaddivisions', country)
  File "/home/fgregg/public/opencivicdata/.env/lib/python3.4/site-packages/django/core/management/__init__.py", line 109, in call_command
    defaults = parser.parse_args(args=args)
  File "/home/fgregg/public/opencivicdata/.env/lib/python3.4/site-packages/django/core/management/base.py", line 64, in parse_args
    return super(CommandParser, self).parse_args(args, namespace)
  File "/usr/lib/python3.4/argparse.py", line 1729, in parse_args
    self.error(msg % ' '.join(argv))
  File "/home/fgregg/public/opencivicdata/.env/lib/python3.4/site-packages/django/core/management/base.py", line 70, in error
    raise CommandError("Error: %s" % message)

Okay, that last part was becuase I upgraded pupa, which upgrades django to 1.8 but opencivicdata-django needs 1.7 sorted that out. Hoewever, it didn't seem to fix the problem.
>pupa dbinit --reset us
no pupa_settings on path, using defaults
dropping table opencivicdata_bill
dropping table opencivicdata_billabstract
...
dropping table opencivicdata_votesource
Operations to perform:
  Apply all migrations: pupa, opencivicdata
Running migrations:
  Applying opencivicdata.0001_initial... OK
  Applying opencivicdata.0002_auto_20150131_1021... OK
  Applying opencivicdata.0003_auto_20150507_1554... OK
193137 divisions loaded from CSV and  0 already in DB
193137 divisions created
> pupa update chicago
...
import jurisdictions...
import organizations...
import people...
import posts...
import memberships...
import bills...
import events...
import votes...
chicago (scrape, import, report)
  events: {}
  people: {}
  bills: {}
bills scrape:
  duration:  0:00:16.437688
  objects:
    bill: 1
events scrape:
  duration:  0:00:03.458544
  objects:
    event: 1
jurisdiction scrape:
  duration:  0:00:00.062029
  objects:
    jurisdiction: 1
    organization: 2
    post: 52
people scrape:
  duration:  0:00:06.270001
  objects:
    membership: 7
    organization: 6
    person: 1
import:
  bill: 1 new 0 updated 0 noop
  event: 1 new 0 updated 0 noop
  jurisdiction: 1 new 0 updated 0 noop
  membership: 7 new 0 updated 0 noop
  organization: 8 new 0 updated 0 noop
  person: 1 new 0 updated 0 noop
  post: 52 new 0 updated 0 noop
>./scripts/ocd-dev.sh
[   ] clone imago skippedd
[ ✓ ] pull imago
[   ] clone opencivicdata.org skipped
[ ✓ ] pull opencivicdata.org
[   ] clone api.opencivicdata.org skipped
[ ✓ ] pull api.opencivicdata.org
[   ] clone vagrant-opencivicdata.org skipped
[ ✓ ] pull vagrant-opencivicdata.org
[ . ] vagrant up'ing db
[ ✓ ] halting db
[ ✓ ] bringing db online
[ ✓ ] provisioning db
[ . ] vagrant up'ing site
[ ✓ ] halting site
[ ✓ ] bringing site online
[ ✓ ] provisioning site
[ . ] vagrant up'ing api
[ ✓ ] halting api
[ ✓ ] bringing api online
[ ✓ ] provisioning api

Go to server, turn on Debugging:
//<PHONE_NUMBER>1601
// http://<IP_ADDRESS>/ocd-person/b899b75b-3178-4c88-bb24-585e726a439e/

{
  "traceback": "Traceback (most recent call last):\n  File \"/projects/api.opencivicdata.org/src/imago/imago/helpers.py\", line 94, in get_fields\n    ret = {x: fwrap(root[x]) for x in concrete}\n  File \"/projects/api.opencivicdata.org/src/imago/imago/helpers.py\", line 94, in <dictcomp>\n    ret = {x: fwrap(root[x]) for x in concrete}\nKeyError: 'family_name'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/projects/api.opencivicdata.org/virt/lib/python3.4/site-packages/restless/views.py\", line 106, in dispatch\n    response = super(Endpoint, self).dispatch(request, *args, **kwargs)\n  File \"/projects/api.opencivicdata.org/virt/lib/python3.4/site-packages/django/views/generic/base.py\", line 87, in dispatch\n    return handler(request, *args, **kwargs)\n  File \"/projects/api.opencivicdata.org/src/imago/imago/helpers.py\", line 137, in _\n    return fn(self, request, *args, **kwargs)\n  File \"/projects/api.opencivicdata.org/src/imago/imago/helpers.py\", line 122, in _\n    return fn(self, request, *args, **kwargs)\n  File \"/projects/api.opencivicdata.org/src/imago/imago/helpers.py\", line 381, in get\n    related, config = get_fields(self.serialize_config, fields=fields)\n  File \"/projects/api.opencivicdata.org/src/imago/imago/helpers.py\", line 96, in get_fields\n    raise FieldKeyError(*e.args)\nimago.helpers.FieldKeyError: <FieldKeyError: family_name>\n",
  "error": "<FieldKeyError: family_name>"
}

Do you think it may be in the provisioning of the DB?


[TUBEMQ-254] support using different mapping port for standalone mode

support using different mapping port for standalone mode

Codecov Report

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

@@             Coverage Diff             @@
##             master    #172      +/-   ##
===========================================
- Coverage      7.90%   7.88%   -0.02%
- Complexity      456     458       +2
===========================================
  Files           242     242
  Lines         26805   26805
  Branches       4446    4446
===========================================
- Hits           2118    2114       -4
- Misses        24225   24229       +4
  Partials        462     462

Impacted Files
Coverage Δ
Complexity Δ

.../java/org/apache/flume/sink/tubemq/TubemqSink.java
51.42% <0.00%> (-4.00%)
14.00% <0.00%> (ø%)

.../tubemq/corebase/policies/FlowCtrlRuleHandler.java
44.57% <0.00%> (+0.58%)
35.00% <0.00%> (+1.00%)

.../apache/tubemq/corebase/policies/FlowCtrlItem.java
40.00% <0.00%> (+1.11%)
9.00% <0.00%> (+1.00%)

Continue to review full report at Codecov.

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


Copy static folder

It's very common to put a favicon.ico in dist folder, adding a copy-webpack-plugin would make it easier and work out of the box since the main idea of vue build is zero-config. Everything in ./static folder will be copied to ./dist

when i change build directory error

how to do get this output directory


Update changelog.

I think that James and Paul have been using some tool to manage these updates and that does something slightly different for the formatting so it can be managed by a tool.
This seems fine if we really need to get the changes out today, but ideally we’d do this the right way and write down how this stuff is managed (maybe in the contributing file?)

@jen20 Any thoughts on the above?


WIP: Enh/estimate drag coefficients

Pull request type
Please check the type of change your PR introduces:

[X] Code base additions (bugfix, features)
[ ] Code maintenance (refactoring, formatting, renaming, tests)
[ ] ReadMe, Docs and GitHub maintenance
[ ] Other (please describe):

Pull request checklist
Please check if your PR fulfills the following requirements, depending on the type of PR:

ReadMe, Docs and GitHub maintenance:

[ ] Spelling has been verified
[ ] Code docs are working correctly

Code base maintenance (refactoring, formatting, renaming):

[ ] Docs have been reviewed and added / updated if needed
[ ] Lint (black rocketpy) has passed locally and any fixes were made
[ ] All tests (pytest --runslow) have passed locally

Code base additions (for bug fixes / features):

[ ] Tests for the changes have been added
[ ] Docs have been reviewed and added / updated if needed
[X] Lint (black rocketpy) has passed locally and any fixes were made
[X] All tests (pytest --runslow) have passed locally

What is the current behavior?

The user has to provide a drag curve as a function of the Mach number.
What is the new behavior?

The user can supply additional rocket parameters instead of the curves themselves, but the old behavior can still be achieved.
Does this introduce a breaking change?

[ ] Yes
[X] No

Other information

Hey @Lucas-KB and @lucasfourier , great to have such an interesting contributions from you guys.
I made some commetns in order to help your review before pulling the code to the develop branch, can't wait to see that happening!

Quick question. Is this implementation compatible with rockets which have multiple "tails" (which may actually be diameter variation) and multiple fin sets?

As I just made with #110, I suggest merging this PR and then start another to (1) create the examples and (2) better documation, if the plan is still to do do 1 and 2 before merging.
@giovaniceotto sorry, I took a look but I can't answer your last question precisally. @Lucas-KB may know it.

TODO (@Lucas-KB  & @lucasfourier):

Start varying angle of attack during the evaluation of drag coefficient
Standardize the reference area (the problem of using rocket area to adjust the Cd)
Correct geometric parameters for the fins
Implement Rail Button (launch lug) drag

Study decorated functions

I'm quoting @MateusStano here : (automatic translated through google translate)

Guys, just talking about the PR of the Drag Coefficient calculation. Basically what had been done there were some functions to calculate the drag. Functions are basically implementations of formulas. Furthermore, the functions are implemented in a provisional way and in the current state of the code it is not possible to define a Rocket object. Another thing is that the results are different from what was expected (comparing to rasAero for example).
I would say that since we know the results of the drag calculations are not satisfactory (or different from rasAero) and since we don't know why, PR is not ready for Merge. For it become ready for merge I would say that we would have to do a review of the whole theory so we can start to understand the old code and find what is wrong (or not) in it. Honestly, I would say that the best thing would be to just redo the PR from scratch and that would take a long time. I don't think it's feasible to merge PR agr and maybe the best thing is just to close it

Getting this PR back online will be no easy task. That being said, I do not believe closing it as a viable option.
We need someone to take over the great work left by @Lucas-KB and @lucasfourier. I truly believe it is more a challenge of manpower rather then technical dificulties. So let's go find someone who could help!

Yeah agreed on that. I think it would be good if we could convert it to a draft PR since the code is not finished yet. But I'm afraid only @Lucas-KB can perform such conversion.
Also, I think we need not only new people to work on aerodynamic developments but also need to improve our development and integration process. Similar to Environment Analysis, we should list all implementations before start cododing, and try our best to separate everything into small pull requests so it can be better managed.

Thinking again, there's no problem if we close the PR since github will still remain information regarding everything. There's a difference between closing and deleting.
The only thing we must me carefull is that we should not delete head branch!
Therefore I believe we should go ahead and close the PR in the next few days


Watcher Filenotify interface (Polling & fsnotify)

Pulls in github.com/docker/docker/pkg/filenotify as a managed dep (Apache License, Version 2.0)

There's a conflict with [Ss]irupsen/logrus naming in the dependency chain
Docker committed their vendor folder for the CLI, so importing the real package prior to Go 1.11 isn't worth the effort.

Removes pkg from .gitignore for the filenotify package. This is a common pattern, we should keep it.
Adds a force_polling optional configuration to enable the poller.
Accepts the interface where needed rather than fsnotify's struct

Closes #31
While this does introduce a new dependency, this can be included as a minor version release as it does not introduce any backwards incompatible functionality.

@markbates Let me know if you need anything else from me on this, but we're good to merge as far as I'm concerned.

I haven’t had the time to even look at this, sorry. I will try over the next few days.

Mark Bates
On Feb 14, 2019, 2:34 PM -0500, Chase Hutchins<EMAIL_ADDRESS>wrote:

@markbates Let me know if you need anything else from me on this, but we're good to merge as far as I'm concerned.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Is the pkg convention not something you want to utilize? Personally I'm a big fan of the formality, but if you're not I suppose I can pull it back out.

Please remove it. Thanks.

Mark Bates
On Feb 15, 2019, 3:16 PM -0500, Chase Pierce<EMAIL_ADDRESS>wrote:

Is the pkg convention not something you want to utilize? Personally I'm a big fan of the formality, but if you're not I suppose I can pull it back out.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Looks good. I want to run this on some more platforms before I merge.


GMT - Node type definition: properly handle empty string as default values in properties

Current behavior
When two consecutive properties are added with empty string ("") as a default value, only one property gets default empty string value in TOSCA. For example, adding "docker_user" and "docker_pass" properties with default value (""):

Produces this TOSCA:

Desired behavior
Both properties should have default empty string values

This is currently not supported, unfortunately. I'll track it in our main repo for higher visibility.

Hi @kmlTE, we fixed this in the upstream and it should be available within the latest Docker image (https://github.com/eclipse/winery/pull/573).
To enter an empty string value, users have to enter "" in the properties add/edit popup. This should result in the correct yaml syntax.
If you would verify at your end, I would then close the issue.

Hi @kmlTE, please let us know if the issue is resolved for you, then we can close the issue. Thanks!

@v-yussupov @miwurster this issue is now resolved, thank you!


Swift 5

Hi!
This is an awesome library!! Is it going to be updated to Swift 5?
Thanks for all your effort!! ^_^

Hi!
I made a PR to add Swift 5 compatibility 😉
Thanks and best regards!


Fix OBM tests

Delete redundant test_node_id_obm_create()
Move OBM identify test into OBMTests() and set check-obm dependency

@RackHD/corecommitters @zyoung51 @tannoa2 @keedya @uppalk1

:+1:

+1


Profile photo flipped

Subject: Profile photo flipped
Description:
When i upload a profile photo it previews correctly but then is hilariously flipped upside down.
Results:
Backend version: develop-39bd5b85
Frontend version: develop-c8330ba7
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Page: https://couchers.org/profile/edit/about
User: padraicmcgee (36825)

#3527


Support for multiple schema migration

Hi Nikita,
Again here.
Would like the support for multiple schema migration, https://flywaydb.org/documentation/faq.html#multiple-schemas.
I am more than happy to implement some of the features I am requesting now.

At least in PostgreSQL and Microsoft SQL Server(I've tested them more) you can use several schemas right now.


Introduce Multinet client library

Is there a function anywhere that let's a user pull the whole dataset in at once using pagination? So If I have a million nodes, I probably wouldn't want to pull them all in one go, but, instead, batch them up into a reasonable size.

As you mention, you generally don't want to ask for all the nodes in one go. Are you saying there should be a way to do that, or that there shouldn't?
Right now, if you just ask for the nodes of a million-node graph without specifying a limit, you get back 30 nodes (that is, the limit parameter has a default value of 30). There's currently no way to ask for all the nodes, but we could support it pretty easily by allowing the limit parameter to be null, and then constructing an unlimited AQL query for the nodes.

What you have right now for pulling the data looks great (allowing a user to specify the number of nodes to pull), I was suggesting an extension.
I think it's feasible that someone will want to view all their data in one of our views. For that, I think we need to consider how to pull in large amounts of data. My suggestion is to write a function that loops through the whole table (or tables) and pulls the data down in reasonably sized batches. That way, if a person wants to visualize 1,000,000 nodes then they're able to. I think that doing that with an unlimited query might hurt our performance so batching it up might help with that. I'd be happy to hear what you think the benefits/cons of both approaches are

Ah now I see what you were getting at.
This is a good idea, and would be a utility function built on top of the functionality in this client library. I think it would be pretty reasonable to create a section of this library for general purpose utility function, but I think we should file an issue and tackle that separately from this PR (see #188).

Works for me. Looks ready to merge!

If the API for this is not quite right, there shouldn't be any problem updating it in future pull requests, especially after we get a release process going (so we can preserve versions via NPM).


Simple syntax error

previously line 118:
Identity Hubs are a data storage and message relay mechanism entities can use to locate public or permissioned private data related to a given DID.
now:
Identity Hubs are a data storage and message relay mechanism which can be used by entities to locate public or permissioned private data related to a given DID.

thanks for this - have edited things around identity hubs in the meantime.


Provide shorthands to sign TbsCertificates and TbsCSRs

these should also check and set the correct signing algorithms

closed with #150


feat(all): create library logic

Creates nearly all the logic for library functionality.
BREAKING CHANGE: everything

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Annotation for suppressing specific compiler errors

I propose a new annotation that turns selected compiler errors into warnings, and turns warnings into nothing.
This annotation is designed for smooth migrations in the middle of a major Crystal release where the migrations are initiated from Crystal code (and not from e.g. a new language feature). For example, consider the task of adding a return type to an abstract def in the standard library (e.g. #10903). Below is how the annotation would look like:
module Iterator(T)
  @[Suppress(:abstract_def_return_type)]
  abstract def next : T | Iterator::Stop
end

class Foo
  include Iterator(Int32)

  # signature matches the abstract def except for the return type
  def next; 1; end
end

This would generate a warning instead of error:
Warning: this method overrides Iterator(T)#next() which has an explicit return type of (Iterator::Stop | T).

Please add an explicit return type ((Iterator::Stop | T) or a subtype of it) to this method as well.

The above warning will become an error in a future Crystal version.

The idea is that the Suppress annotation will remain throughout the rest of 1.x, and then it will be manually removed for the 2.0 release, in a similar manner as @[Deprecated]. This gives end users a rather large time window for implementing those migrations, instead of doing nothing until the end of 1.x and then suddenly seeing the new return type restrictions just in time for 2.0.
Suppress accepts a single Symbol argument to indicate the compiler error / warning type. To support the addition of completely new abstract defs, we simply use a different argument:
abstract class Foo
  @[Suppress(:abstract_def_impl)]
  abstract def foo
end

class Bar < Foo; end

# Warning: abstract `def Foo#foo()` must be implemented by Bar
#
# The above warning will become an error in a future Crystal version.

A use case for suppressing warnings is renaming a type Foo to Bar:
@[Deprecated]
class Foo; end

@[Suppress(:deprecated_name)]
alias Bar = Foo

Assume that #11043 is implemented, so that any use of Foo results in a deprecation warning. But we don't want all of this; uses of Foo through Bar should not be deprecated, as is the reference to Foo in Bar's definition itself. This annotation will hide those warnings. (We cannot make the old type an alias of the new type since that breaks existing code that depends on Foo.name.)

I think it's worth mentioning that the described approach to let missing return types of abstract methods be a warning for the remainder of 1.x which becomes an error in 2.0 could just as well be done without annotations.
The benefit of using specific annotations is that we can selectively choose between a migration path for pre-existing features (keeping the old, non-restrictive semantics plus warning), and have the new, restrictive semantics apply for newly added features.
I'm unhappy however about the proposed opt-out approach. It would require all existing code to be changed in order to suppress warnings. Without @[Suppress], enabling the compiler feature would lead to breaking changes. I don't think this can be done while keeping backwards compatibility.
Still, we can go the other way around and add an annotation to opt-in for more restrictive compiler behaviour. This annotation can be applied to newly added features and makes sure the compiler enforces strict semantics from day one.
Suppressing something that should've been error feels quirky. But opting in for more errors is actually very healthy.

I think it's worth mentioning that the described approach to let missing return types of abstract methods be a warning for the remainder of 1.x which becomes an error in 2.0 could just as well be done without annotations.

How would you do this without inadvertently relaxing the same requirement for abstract defs that are not part of a 1.x changeset?

Yes, that's not possible and we need annotations for that as I wrote in the following paragraph.

So what you're suggesting is instead of adding a "non-strict" annotation for new methods, we revert the error behaviour but add a "strict" annotation to every existing abstract def in the standard library and every shard out there?

No that's not at all what I meant. I suppose it depends on the type of change.
After failing to communicate my intention to you, I realized that I had missed the precondition that you're talking about errors being introduced by change in Crystal code, not changing compiler behaviour. My comment was about changing compiler behaviour, so it does not apply to cases like #10903.
Sorry for the confusion.


Archive Failed after updating to latest version

After updating to the latest version the Archive of my app fails. Any ideas?
** ARCHIVE FAILED **
[10:55:14]: Exit status: 65
[10:55:14]: Variable Dump:
[10:55:14]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios alpha", :SIGH_PROFILE_PATH=>"/Users/alain/Work/Projects/WeeTaps/WeeTrains/AdHoc_com.weetaps.WeeTrains.mobileprovision", :SIGH_PROFILE_PATHS=>["/Users/alain/Work/Projects/WeeTaps/WeeTrains/AdHoc_com.weetaps.WeeTrains.mobileprovision"], :SIGH_UDID=>"edb33417-221b-4ba9-90b8-f30ae4c833bf", :SIGH_PROFILE_TYPE=>"ad-hoc"}
[10:55:14]: Error building the application - see the log above```

Crash log ID : 16c059e37e5228cd4bb79ad7b11f5ca4

I turned off crash logging and now it worked.

It's failing again, and I haven't really changed anything 😕
[20:16:28]: Exit status: 65
[20:16:28]: Variable Dump:
[20:16:28]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios alpha", :SIGH_PROFILE_PATH=>"/Users/alain/Work/Projects/WeeTaps/WeeTrains/AdHoc_com.weetaps.WeeTrains.mobileprovision", :SIGH_PROFILE_PATHS=>["/Users/alain/Work/Projects/WeeTaps/WeeTrains/AdHoc_com.weetaps.WeeTrains.mobileprovision"], :SIGH_UDID=>"edb33417-221b-4ba9-90b8-f30ae4c833bf", :SIGH_PROFILE_TYPE=>"ad-hoc"}
[20:16:28]: Error building the application - see the log above

+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | cocoapods                           | 12          |
| 4    | sigh                                | 44          |
| 5    | gym                                 | 214         |
+------+-------------------------------------+-------------+

[20:16:28]: fastlane finished with errors
-------------------------------------------------------------------------------------------
😨  An error occured. Please enable crash reports using `fastlane enable_crash_reporting`.
👍  This makes resolving issues much easier and helps improve fastlane.
🔒  The reports will be stored securely on getsentry.com.
✨  Once crash reporting is enabled, you get a clean output when something goes wrong.
🙊  More information about privacy: https://github.com/KrauseFx/fastlane/releases/tag/1.33.3
-------------------------------------------------------------------------------------------
/Library/Ruby/Gems/2.0.0/gems/gym-1.2.0/lib/gym/error_handler.rb:52:in `handle_build_error': Error building the application - see the log above (RuntimeError)
	from /Library/Ruby/Gems/2.0.0/gems/gym-1.2.0/lib/gym/runner.rb:81:in `block in build_app'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane_core-0.31.0/lib/fastlane_core/command_executor.rb:61:in `call'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane_core-0.31.0/lib/fastlane_core/command_executor.rb:61:in `execute'
	from /Library/Ruby/Gems/2.0.0/gems/gym-1.2.0/lib/gym/runner.rb:77:in `build_app'
	from /Library/Ruby/Gems/2.0.0/gems/gym-1.2.0/lib/gym/runner.rb:10:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/gym-1.2.0/lib/gym/manager.rb:8:in `work'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/lib/fastlane/actions/gym.rb:22:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/lib/fastlane/runner.rb:142:in `block (2 levels) in execute_action'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/lib/fastlane/actions/actions_helper.rb:37:in `execute_action'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/lib/fastlane/runner.rb:128:in `block in execute_action'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/lib/fastlane/runner.rb:127:in `chdir'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/lib/fastlane/runner.rb:127:in `execute_action'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/lib/fastlane/fast_file.rb:149:in `method_missing'
	from Fastfile:46:in `block (2 levels) in parsing_binding'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/lib/fastlane/lane.rb:36:in `call'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/lib/fastlane/lane.rb:36:in `call'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/lib/fastlane/runner.rb:51:in `block in execute'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/lib/fastlane/runner.rb:46:in `chdir'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/lib/fastlane/runner.rb:46:in `execute'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/lib/fastlane/lane_manager.rb:46:in `cruise_lane'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/lib/fastlane/command_line_handler.rb:30:in `handle'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/bin/fastlane:37:in `block (2 levels) in run'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/bin/fastlane:155:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.48.0/bin/fastlane:161:in `<top (required)>'
	from /usr/local/bin/fastlane:23:in `load'
	from /usr/local/bin/fastlane:23:in `<main>'```

Hi!
If you look at the beginning of the gym output, there's a line that tells you where the xcodebuild is being saved to. Do you mind taking a look at that one, and perhaps save the error from it? Thanks!

The weird part is that it sometimes works. I wanted to generate a new log, and it worked. And the next time it didn't:
here's the last part from the gym.log and I also added the ID from a previous crash log above:
CodeSign /Users/alain/Library/Developer/Xcode/DerivedData/WeeTrains-afoyqcqxourcjfavwvnsyapasfij/Build/Intermediates/ArchiveIntermediates/WeeTrains/InstallationBuildProductsLocation/Applications/WeeTrains.app
    cd /Users/alain/Work/Projects/WeeTaps/WeeTrains
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Signing Identity:     "iPhone Distribution: Alain Hufkens (9Y2DK26F2M)"
Provisioning Profile: "com.weetaps.WeeTrains AdHoc"
                      (edb33417-221b-4ba9-90b8-f30ae4c833bf)

    /usr/bin/codesign --force --sign 026D463EFDA2C4275B9C580734AD97974E3D533B --entitlements /Users/alain/Library/Developer/Xcode/DerivedData/WeeTrains-afoyqcqxourcjfavwvnsyapasfij/Build/Intermediates/ArchiveIntermediates/WeeTrains/IntermediateBuildFilesPath/WeeTrains.build/Beta-iphoneos/WeeTrains.build/WeeTrains.app.xcent --timestamp=none /Users/alain/Library/Developer/Xcode/DerivedData/WeeTrains-afoyqcqxourcjfavwvnsyapasfij/Build/Intermediates/ArchiveIntermediates/WeeTrains/InstallationBuildProductsLocation/Applications/WeeTrains.app

Validate /Users/alain/Library/Developer/Xcode/DerivedData/WeeTrains-afoyqcqxourcjfavwvnsyapasfij/Build/Intermediates/ArchiveIntermediates/WeeTrains/InstallationBuildProductsLocation/Applications/WeeTrains.app
    cd /Users/alain/Work/Projects/WeeTaps/WeeTrains
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    export PRODUCT_TYPE=com.apple.product-type.application
    builtin-validationUtility /Users/alain/Library/Developer/Xcode/DerivedData/WeeTrains-afoyqcqxourcjfavwvnsyapasfij/Build/Intermediates/ArchiveIntermediates/WeeTrains/InstallationBuildProductsLocation/Applications/WeeTrains.app

Touch /Users/alain/Library/Developer/Xcode/DerivedData/WeeTrains-afoyqcqxourcjfavwvnsyapasfij/Build/Intermediates/ArchiveIntermediates/WeeTrains/BuildProductsPath/Beta-iphoneos/WeeTrains.app.dSYM
    cd /Users/alain/Work/Projects/WeeTaps/WeeTrains
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /usr/bin/touch -c /Users/alain/Library/Developer/Xcode/DerivedData/WeeTrains-afoyqcqxourcjfavwvnsyapasfij/Build/Intermediates/ArchiveIntermediates/WeeTrains/BuildProductsPath/Beta-iphoneos/WeeTrains.app.dSYM

There doesn't seem to be anything that points to the problem on that part. Is there any other reference to an error further up?
Question: are you using the legacy build API? (the use_legacy_build_api parameter). If you're not, do you mind trying with it?

I'll try.
this is my fatslane setup for alpha
desc "Submit a new Aplha Build to Fabric Crashlytics"
  lane :alpha do
    sigh(adhoc: true)
    ENV["PROFILE_UDID"] = lane_context[SharedValues::SIGH_UDID]
    gym(configuration: "Beta")
    crashlytics(
      crashlytics_path: './Crashlytics.framework',
      api_token: '',
      build_secret: '',
      ipa_path: './WeeTrains.ipa',
      groups: 'dev-team',
      notifications: true
    )
  end

And it's exactly the same setup for my other app that seems to build without issues.
Thanks for the fast follow up 👍

Looks like the use_legacy_build_api works for me now. Not really sure what has changed? I haven't worked on that project since a month or so. But it always worked before and I always updated Fastlane.
I'll keep it for now. Thanks

Mmm, the result with 'use_legacy_build_api' is the same as without. On the second run, the archive failed error was back.

Still no idea? I keep getting mixed results (legacy is on) and all provisioning profiles should be correct. I only have this issue with one specific project.
Anyway I hope you can help me. Here's another crash report ID: c3261b8767375693d03c0f7955d2136f

Same issue
And it's specific for one project too.

Just had the same issue.
Root cause was that xcodebuild exit status was 65 just like in the log here. There was an error message in the middle of xcodebuild log above. So it was not related to fastlane.
However some more verbose error message from fastlane would help. Appreciate if log could contain something like: "xcodebuild exit status was 65, so failing" and xcodebuild command arguments again, so it is obvious where to dig further.

I had the same problem a few weeks ago, it seems to be a Xcode bug..
You could try to use gym --use_legacy_build_api true  as described here: https://github.com/fastlane/gym#usage

It looks like there hasn’t been any recent activity on this issue in some time, so I’m closing it. If this is still a problem, feel free to re-open a new issue and I’d be happy to help :+1:

I'm having the same issue on hosted CI bitrise.io.
Currently, I'm trying to run gym with use_legacy_build_api: true, will see if that helps although I had some issues with it in the past too.

@tomaskraina Were you able to get up and running? Thanks!

I am struggling with some of the same problems. When building with the default fastlane beta. I receive error 65 during Touching xxx.app.dSYM. The log files doesn't display any error messages. I am currently using xcode 8 on OS X running El Capitan. I am using the parameter use_legacy_build_api: true without succese.

@MarcPilgaard Great to hear from you! Can you make sure your build export settings have dwarf w/DsYM? If that doesn't work please open a new ticket and share the full input and output. I'd love to look into this!


light tool to create/sign (via kms) fulcio/tsa certs (ca, leaf etc)

Description

this is something we automated w/ smallstep's step-cli tool, but i've been playing with the smallstep crypto library  to do the same and was curious if there'd be interest in accepting a small cloud agnostic go app to specifically  create/sign (via awskms, cloudkms, or azurekms) certificates for fulcio, tsa etc either in the helm charts or elsewhere ( e.g. scaffolding).
ps tho i understand the intent in keeping the helm charts simple as mentioned by @bobcallaway.

I think the community will definitely benefit with some tooling in this area. @sfox-equinix wrote a tool for us that helps with awskms fulcio pki

closing this in favor of cross post.
https://github.com/sigstore/scaffolding/issues/1334


Build fails on io.js 3.0.0

It appears to be a nan issue again as with #122 . I'm on Mac OS 10.10.4.
In file included from ../src/unix/pty.cc:20:
../node_modules/nan/nan.h:324:27: error: redefinition of 'NanEnsureHandleOrPersistent'
  NAN_INLINE v8::Local<T> NanEnsureHandleOrPersistent(const v8::Local<T> &val) {
                          ^
../node_modules/nan/nan.h:319:17: note: previous definition is here
  v8::Handle<T> NanEnsureHandleOrPersistent(const v8::Handle<T> &val) {
                ^
../node_modules/nan/nan.h:344:27: error: redefinition of 'NanEnsureLocal'
  NAN_INLINE v8::Local<T> NanEnsureLocal(const v8::Handle<T> &val) {
                          ^
../node_modules/nan/nan.h:334:27: note: previous definition is here
  NAN_INLINE v8::Local<T> NanEnsureLocal(const v8::Local<T> &val) {
                          ^
../node_modules/nan/nan.h:757:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:768:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/.../.node-gyp/3.0.0/include/node/node_buffer.h:35:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to
      'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/.../.node-gyp/3.0.0/include/node/node_buffer.h:47:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/.../.node-gyp/3.0.0/include/node/node_buffer.h:32:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/.../.node-gyp/3.0.0/include/node/node_buffer.h:40:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/unix/pty.cc:20:
../node_modules/nan/nan.h:772:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/.../.node-gyp/3.0.0/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from
      'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/.../.node-gyp/3.0.0/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from
      'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/.../.node-gyp/3.0.0/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/.../.node-gyp/3.0.0/include/node/v8.h:327:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/unix/pty.cc:20:
../node_modules/nan/nan.h:779:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/unix/pty.cc:20:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/.../.node-gyp/3.0.0/include/node/node.h:42:
/Users/.../.node-gyp/3.0.0/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/.../.node-gyp/3.0.0/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:501:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:483:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(Nan::imp::NanEnsureLocal(val))
                             ^
In file included from ../src/unix/pty.cc:20:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/.../.node-gyp/3.0.0/include/node/node.h:42:
/Users/.../.node-gyp/3.0.0/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/.../.node-gyp/3.0.0/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:511:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:483:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(Nan::imp::NanEnsureLocal(val))
                             ^
In file included from ../src/unix/pty.cc:20:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/.../.node-gyp/3.0.0/include/node/node.h:42:
/Users/.../.node-gyp/3.0.0/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/.../.node-gyp/3.0.0/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1645:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:483:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(Nan::imp::NanEnsureLocal(val))
                             ^
In file included from ../src/unix/pty.cc:20:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/.../.node-gyp/3.0.0/include/node/node.h:42:
/Users/.../.node-gyp/3.0.0/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/.../.node-gyp/3.0.0/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1776:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(
           ^
../node_modules/nan/nan.h:483:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(Nan::imp::NanEnsureLocal(val))

Hmm, so, the second I get it working with 2.5.0, io.js 3.0.0 comes out and breaks the build again.
Anyway, looks like nan.h needs to be updated to accommodate the v8 api changes.

iojs 3.0 was blocked on the release of nan 2.0. so sorry bout the pain! such a great library you have here.
https://github.com/nodejs/nan/releases/tag/v2.0.0

That's good news, @rektide.
I've been looking into the new nan.h, but it might take a while to get used to everything. Looks like a lot changed. And yes, hopefully we don't have to do this again for a long time.

I've upgraded to nan 2.0.5 and changed everything necessary to abide with the new nan api. It builds and works fine for me on node v0.12.7. I can't say for io.js yet.

Just tested build on io.js 3.1.0. Works great. I just released pty.js v0.3.0. Let me know if you guys have anymore trouble.


Update fields in a row based on input to another field

I would like to execute a function/script when a user enters a value in a field and then presses tab to go to the next field. This function/script would call an Ajax routine that would read the data corresponding to the field value from a database and return related information which would populate other fields in the row. Here is the flow I am looking for:
User clicks "+" to add a new row.
The first field is UPC. They enter a UPC (they have the option to not enter a UPC and can manually enter the product into the next field)
When they press tab to go to the next field ("Product") an AJAX routine is called which looks up the
UPC on a database, and returns the name of the product and the cost of the product. Two fields: Product and Cost would then be filled in with the values returned.
If the UPC is not on the database, an error alert would be shown, and the user returned to the UPC field to reenter it.
The ajax is already written and working, my issue is how to incorporate this into JsGrid.
Any help would be appreciated.

Not sure if it was the approved way, but I set the _insertPicker =  ""' in insertTemplate. Seems to work properly. The field cannot be edited (only used a search for other information when entering a line) so I don't need to worry about the editTemplate.


Line number in report is -1 when running without debugger

The used Godot version:
v3.5.1.stable.official [6fed1ffa3]
OS including version:
Windows 11
Describe the bug
The line number on the report shows the correct line when debugging tests, but when running tests without the debugger the line number is reported as -1
Debug Time:

Run Time:

Steps to Reproduce

Create a test with the reproduction method provided below
Run the test with debug
Observe the correct line number is reported
Run the test without debug
Observe the line number is reported as -1

Minimal reproduction project:
func test_lineNumber():
	assert_bool(false).is_true()

This is not a bug, Godot do not give a full stacktrace at runtime mode.
This info is only available at debug mode.
I have to add this info to the documentation, to not confuse the user.

In that case I suggest you remove the line number part of the report at runtime and only show it at debug time.


adds tipHeight function

This is something that I found useful

Hmmm,  wait adapter already exposes tip... shrug

adapter and blockchain already expose a tip function.  But this function returns only the block hash and not the entire tip object.
Changing this to return the entire tip object would be ideal, but it would break some other dependencies on the tip function so it would be a more complicated task.
I think I would prefer tip to return the entire tip object (height and blockId) - but that would be a breaking change and would require more work.

I think I would prefer tip to return the entire tip object (height and blockId) - but that would be a breaking change and would require more work.

Agreed.
ACK as is for now :+1:


Cow: Watch cloudways.com

Cow requests the watch of the watch_keyword cloudways\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

cloudways\.com has been seen in 25 true positives, 87 false positives, and 16 NAAs.

Rejected by Jeff Schaller in Charcoal HQ. Reason: 'too many FP on-site -- https://stackexchange.com/search?q=url%3A"cloudways.com"'


Batch samples before sending them to channels

Channels can cause bottlenecks and tons of context switches when reading
hundreds of thousands of samples per second from a single queue.
Instead, pre-batch the samples to amortize the cost of the concurrency
overhead.
Proposal to attempt fixing: https://github.com/prometheus/prometheus/issues/9807
There is no change to existing functionality and all new code paths are
covered by existing tests. The existing benchmark does not show much
of an improvement, but does not really test context switching/locking like
seen in the issue.
Benchmark results using the benchmark from #9904:
name \ time/op    before.txt   9830.txt     9830_concrete_type.txt  9904.txt
SampleSend-16     5.59ms ± 6%  1.98ms ± 2%             1.73ms ± 1%  1.50ms ± 1%

name \ alloc/op   before.txt   9830.txt     9830_concrete_type.txt  9904.txt
SampleSend-16      950kB ± 0%   857kB ± 1%               51kB ±10%    76kB ±10%

name \ allocs/op  before.txt   9830.txt     9830_concrete_type.txt  9904.txt
SampleSend-16      10.2k ± 0%   10.2k ± 0%               0.2k ± 1%    0.2k ± 2%

Using concrete types is a big improvement on top of this, I was thinking a second PR to keep the changes clean though.
See the issue comments where this was tested showing significantly fewer context switches per second: https://github.com/prometheus/prometheus/issues/9807#issuecomment-981094240

I'd like to use some of this work for #9862. Namely, I'd like all samples in a batch to be from the same segment, which will help to track when all samples from a segment have left the queue.
Given that: I'm wondering if the batching can be brought up a level to the WAL watcher.
My understanding is that the WAL watcher will read commits in full. Given commits are done per scrape, that should mean that the WAL watcher has the ability to emit batches based on scrapes (as long as that scrape fits within a single segment, otherwise it will be multiple batches for a scrape). I might be wrong with my understanding for how the WAL watcher interacts with commits.
Batching on scrapes might be enough to reduce context switches over queues being flushed once they hit a certain size.

Wal-watcher already sends everything from one record to remote-write, which I think is " batches based on scrapes": https://github.com/prometheus/prometheus/blob/8e9b8d499d6a2099229441c7ba3f43b0704f4c31/tsdb/wal/watcher.go#L515
However remote-write splits them across shards that can each go at their own rate, so I think you would need significantly different implementation to track when everything for a scrape has been sent.
PS: I am working on an alternative implementation, since I started before Chris did this.

Namely, I'd like all samples in a batch to be from the same segment

Sounds like you want transactional remote-write. My goal with this PR was a fairly small change that keeps the current semantics as much as possible. Curious to see Bryan's alternative or if we should go ahead with this implementation. It seems to be working very well in the linked issue.

However remote-write splits them across shards that can each go at their own rate, so I think you would need significantly different implementation to track when everything for a scrape has been sent.

Maybe, but I won't derail this issue and I'll wait for one of the solutions for batching to get merged first. :)

Looks like this was harder than we thought!  Ref #10608

No kidding!


Allow changing ProcessModel and DomainUsage

We have removed the settings panel that allows changing the defaults for these values, since the defaults are actually fixed in the engine. However, users may want to tailor how assemblies are loaded for a particular test run. For example, it may be desirable to run a particular test inprocess in order to more readily debug it.
We need to design where to put this (menu? bar?) and how it will work before we implement it.

quick idea i had:

Forcing to run as X86 is a related setting.
We also allow selection of the runtime to use, currently in the file menu.
All of these should be at least designed at the same time, maybe even implemented.

@immeraufdemhund Because these are settings we don't want to encourage users to "play" with, I'm more inclined to put in the menu rather than on the menu bar.
NUnit runs best for most people if you just let it pick out the defaults needed to run all the assemblies:

Separate process
Using the target framework
Using a single test appdomain per process
Using X86 only if the test assembly targets x86.

So I'm thinking, under File...
Reload
  Select Runtime >
  Process Model >
  Domain Usage >

I'd put the X86 checkbox on the Process Model submenu, since that's where it's used.
What do you think?

My first thought was no as it would clutter it up. I tried it out though and it's not bad at all. Even makes sense:

Funny... I went through the same process. :smile:
I'll push my initial implementation as a start.

I'm going to follow through with this, since I started it, but another possibility is to put all this stuff on the not-yet-implemented Project menu. The only other thing that I believe should go there is the selection of the configuration to load.

OK, I have tried this out and i really prefer it on the Project menu. All the items on the File menu are commands, i.e. they actually do something. The ProcessModel and DomainUsage settings are really much better as settings, that don't take effect until you load the test. Same for x86.
The current Select Runtime choices are also commands. As soon as you select one of them, the assembly is reloaded. But they should probably also be deferred settings too because you might want to do multiple things before loading, like select a runtime and click on x86.
In the old gui, the project menu was mostly settings. If you changed one that required a reload, you sometimes got prompted to see if you wanted to do it. We could consider that for this gui but basically I think these should all be items that get checked or unchecked and that impact how the tests are loaded when they are finally loaded.
Counter arguments are, of course, welcome.

with it possibly being in the project menu item it reminded me that these would be specific information about the project. Do you plan on persisting the settings to the project file? as a side note to that woudl the csproj/sln file know what to pick?

The Project menu was never specifically about the project file... more of a misnomer, I guess.
As far as persisting, I was viewing these settings as overriding, but not replacing any persisted settings. That's a bit different from V2. In V2, when you changed the settings, you were changing the defaults. Our defaults for these settings are hard-coded because we run better when the defaults are used. So, I see the order of priority as...
Temporary (session) settings
Persisted settings (in the nunit proj file)
Defaults
As for VS proj files, they don't currently support any such settings and I would hesitate to add them even if it's possible. Frankly, I prefer to see people create nunit projects if they need to have special settings for a particular assembly.

I mean something like this scenario: A person creates a new project with a solution file... I know that the add-in is for the engine (which I'm not familiar with) but does it use some of the built-in knowledge that the csproj file gives.. for instance I just added x86 as the build target to my csproj (see code diff):

but i just dug a little bit and realized that x86/x64/Any Cpu is only 1 of the things mentioned (and a minor one at that) the other ones don't have equal information in the csproj file.. or TL;DR : nevermind

In any case, we are able to get x86 info out of the assembly before loading it, so it's another case where the default works great. In fact, it's better because you may have multiple assemblies, with different requirements. If you use the defaults, then it just works. But there can still be cases where you need to override them. One common case is a SUT that references something requiring x86, if you haven't used that platform for your tests.
I managed to find an old copy of NUnit V2 and I see that all the entries on that project menu are about related to an NUnit project. I'll need to think this out a bit more, probably while I code it. 😄

Questions about the lifetime of these settings....
The current lifetime of a SelectedRuntime is until the next load or reload. I'm not sure that makes sense.
ProcessModel, DomainUsage and LoadAsX86 are as yet undefined. It seems like their lifetime ought to be the same as Selected Runtime.
If we want to allow people to change settings and then reload the tests, or to reload automatically on changes or when running, then it seems like all of these should remain stable across reloading and running tests. The remaining question is about when we Load a (usually) different test. Should we keep the same settings then?
If the settings are to be stable through the entire session in the gui, then I'll just initialize them in the view and leave out code in the presenter to change them based on model events. They will only be affected by the user. If they are to be stable between Loads (not reloads) then I'll need a bit more code in the presenter.

+1 on only doing it in the view

Closed by #186


Missing 'registerBrush' method on canvas

I followed your steps, however when I try to register a brush it gives me an error.
Thank you for your time. Also, it works fine on your example project. But I want to use it on mine so I am having difficulties.

which method did you call and what the error says ?

Well. I figured out how to use a brush, but I cannot change colour. I mean, colour doesn't change. It is black. And also, your example project is very much different.
let b1 = Brush(texture: UIImage(named: "pencil.png")!)
b1.color = UIColor.red
canvasView.brush = b1

I figured that thing out, however undo and redo don't work. Can you tell me how should I do that? Is there an initial setup for that?

@saumyalahera First of all, make sure you are using the latest version. There's no property named brush on canvas.
A brush must be registered to canvas before painting with it. You can create a brush by calling the registerBrush method on canvas directly.  Then, call brush.use() on brush witch you want to use.
And in the latest version, undo and redo features are automatically set up.


Added example showcasing floating point printing

Adding floating point printing requires changing the default library
used to implement vfprintf. This can be done by passing the avr-gcc the
linker options -Wl,-u,vfprintf and making sure to compile against the
printf_flt and math libraries by passing the -lprintf_flt -lm flags. See
the makefile in examples/uart_print_fp for details.

@vogeldylan Check it out 🎉

As a note for later: adding this kind of printing is a costly. It increases program size by about 1500 bytes.


Paid Fix

Fix for paid content.

I can't approve this myself, @0x3333. Care to approve it?

The problem is that this branch has conflicts that must be resolved.

Ah it's showing me a message that says requester can't approve their own requests or something.


[3.0] Fix can't consume multi-group service when use nacos registry

What is the purpose of the change
Fix: #10196
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #10197 (692fc45) into 3.0 (0089503) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##                3.0   #10197      +/-   ##
============================================
- Coverage     65.78%   65.77%   -0.02%
- Complexity      294      317      +23
============================================
  Files          1231     1231
  Lines         53560    53560
  Branches       8090     8091       +1
============================================
- Hits          35236    35227       -9
- Misses        14491    14498       +7
- Partials       3833     3835       +2

Impacted Files
Coverage Δ

...org/apache/dubbo/registry/nacos/NacosRegistry.java
50.18% <100.00%> (ø)

...nt/metadata/ServiceInstanceHostPortCustomizer.java
65.78% <0.00%> (-21.06%)
:arrow_down:

.../apache/dubbo/rpc/filter/ProfilerServerFilter.java
62.85% <0.00%> (-20.00%)
:arrow_down:

...che/dubbo/registry/client/NopServiceDiscovery.java
44.44% <0.00%> (-11.12%)
:arrow_down:

...e/dubbo/rpc/protocol/tri/transport/WriteQueue.java
73.80% <0.00%> (-4.77%)
:arrow_down:

.../apache/dubbo/rpc/protocol/injvm/InjvmInvoker.java
63.56% <0.00%> (-3.88%)
:arrow_down:

...etadata/report/support/AbstractMetadataReport.java
68.03% <0.00%> (-1.83%)
:arrow_down:

...ubbo/registry/client/AbstractServiceDiscovery.java
83.47% <0.00%> (-1.66%)
:arrow_down:

...ting/zookeeper/curator/CuratorZookeeperClient.java
69.23% <0.00%> (-0.97%)
:arrow_down:

...apache/dubbo/rpc/protocol/dubbo/DubboProtocol.java
62.58% <0.00%> (-0.69%)
:arrow_down:

... and 6 more

Continue to review full report at Codecov.

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

Will be fixed in https://github.com/apache/dubbo/pull/10256


Old repo sitting in Azure GitHub org

@nschonni commented on Sun Oct 21 2018
This looks to be an old copy of this repo https://github.com/Azure/azure-content-ptbr
If it is, it would be good to remove it to prevent confusion.

@SyntaxC4 - Can you check if https://github.com/Azure/azure-content-ptbr and https://github.com/MicrosoftDocs/azure-docs.pt-br are the same and if one should be removed ?

@tysonn for old Azure LOc Repo there is no admin, so I can't delete these old repos.

@nschonni @CeciAc the old repos have been deleted.

@nschonni @CeciAc per @ishasahni1 comment, closing this issue.


release: 1.3.0

1.3.0 (2020-05-19)
Features

Add header component #83 (#102) (4281b11)
Add search component
Add Grid, GridContainer components

Warnings

:warning:

Changes were made to yarn.lock, but no plain text yarn audit output was found in PR description. - Can you run yarn audit in your branch and paste the results inside a markdown code block?

  Generated by :no_entry_sign: dangerJS against 25088296ee2de1467b88e54df9cfb9e5962ea095


feature-request: Show zoomed status too

The plugin is very useful as it allows us to see in which status we're. Copy, Sync, or simple Prefix.
Showing whether we're in a zoomed state is useful too, as one might enter in zoom mode and forget.

I've added this to my config
set -g pane-border-format '#{?window_zoomed_flag,#[fg=red blink bold]ZOOMED,}'

Thanks


i2c: add convenience functions to test AddressMode

Adds convenience functions to test the concrete types of AddressMode trait objects.

what is the intended use case for this? You can already enforce at compile time that an I2C device is used only with 7bit/10bit addresses, why would you want to check it at runtime? For example, it's already impossible for the asserts you've added to the doc examples to fail at runtime, build would fail before that.
I'd rather avoid dyn and Any, while they do work in embedded they result in not-great code size.

what is the intended use case for this?

I am writing an I2C driver for a HAL, and the Linux version I'm basing the driver on has a function that sets a mode register based on a bitflag. The equivalent in the HAL driver would be testing based on the AddressMode trait object.

For example, it's already impossible for the asserts you've added to the doc examples to fail at runtime, build would fail before that.

I agree, just added them to have the code path tested with CI checks.

I'd rather avoid dyn and Any, while they do work in embedded they result in not-great code size.

Same, I was looking for alternatives, but this seemed like the most straight-forward method without introducing new dependencies.
Maybe adding a some functions to AddressMode would be better?
Something like:
pub trait AddressMode: ... {
    fn addr_max(&self) -> usize;
    fn is_seven_bit(&self) -> bool {
	self.addr_max() == 0b111_1111usize
    }

    fn is_ten_bit(&self) -> bool {
        self.addr_max() == 0b11_1111_1111usize
    }
}

impl AddressMode for SevenBitAddress {
    fn addr_max(&self) -> usize {
        0b111_1111
    }
}

impl AddressMode for TenBitAddress {
    fn addr_max(&self) -> usize {
        0b11_1111_1111
    }
}

I am writing an I2C driver for a HAL, and the Linux version I'm basing the driver on has a function that sets a mode register based on a bitflag. The equivalent in the HAL driver would be testing based on the AddressMode trait object.

The way HALs add support for both 7bit and 10bit addrs is to do two impls:
struct MyI2c{...}
impl I2c<SevenBitAddress> for MyI2c {..}
impl I2c<TenBitAddress> for MyI2c {..}

Code within these impls already knows the address kind, guaranteed at compile time. they can of course call common code with the address mode as an argument, to avoid duplicating code.
Would this work for your use case?

Would this work for your use case?

I think it would, but I also wanted to contribute back a generic convenience function to test the type of AddressMode.
I figured if I ran into the issue, there would likely be other people that reached for similar functionality.
The changes to remove Any are up, and replaced with the AddressMode trait functions.
For reference, here is the function I'm currently working on: https://github.com/rmsyn/jh71xx-hal/blob/feature/i2c/src/i2c.rs#L343
Basically:
fn xfer_init<A: AddressMode>(&mut self, addr: A) {
    // ...

    if addr.is_ten_bit() {
        self.i2c.set_i2c_con_register(I2cCon::MASTER_10BIT);
    }
}

where xfer_init would be called inside both I2c<NBitAddress> impls.

The way HALs add support for both 7bit and 10bit addrs is to do two impls

we -could- have a dual-mode address type alongside SevenBitAddress and TenBitAddress but, then we would have to define switching and how HALs were to implement each of these, so i would like to see more evidence that this was worth the additional complexity before we went down that path.
@rmsyn you could move the types up to your interface with another trait?
pub trait I2cXfer<A: AddressMode> {
  xcfer_init(&mut self, a: A) ... ;
}

impl<I2C: I2cPeripheral> I2cXfer<SevenBitAddress> for I2c<I2C> {
  pub fn xfer_init(&mut self, a: SevenBitAddress) { .. }
}

impl<I2C: I2cPeripheral> I2cXfer<SevenBitAddress> for I2c<I2C> {
  pub fn xfer_init(&mut self, a: TenBitAddress) { .. }
}

@rmsyn you could move the types up to your interface with another trait?

What I ended up doing was making a new struct for the argument type that is basically a bitfield with a range for the address (7- or 10-bit). Have a feeling that a similar approach is probably going to work for other impls, too.
This PR can be closed if others don't feel like it's a good addition.

Closing since the discussion seems settled on not merging this.
Nevertheless, thank you for your proposal and please feel free to comment or reopen if there are further concerns.


Support geth migration

Fix the Td
Add the script to migrate the geth db to the anchorage

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (f4e8d0f) 33.70% compared to head (f9d6a91) 33.66%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #107      +/-   ##
===========================================
- Coverage    33.70%   33.66%   -0.05%
===========================================
  Files          172      172
  Lines         7406     7406
  Branches      1235     1235
===========================================
- Hits          2496     2493       -3
- Misses        4758     4763       +5
+ Partials       152      150       -2

Flag
Coverage Δ

cannon-go-tests
63.48% <ø> (ø)

chain-mon-tests
27.14% <ø> (ø)

common-ts-tests
26.74% <ø> (ø)

contracts-bedrock-tests
19.44% <ø> (-0.14%)
:arrow_down:

contracts-ts-tests
12.25% <ø> (ø)

core-utils-tests
44.03% <ø> (ø)

sdk-next-tests
39.16% <ø> (ø)

sdk-tests
39.16% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 3 files with indirect coverage changes

Overall LGTM -- is there any way we can integrate this into our tests? Something like was done with the hardhat devnet tests for the Erigon migration?

I can add a test for it.

The unit test is added.


await keyword

The following code is resulting with the error: System.ArgumentOutOfRangeException: StartIndex cannot be less than zero. (Parameter 'startIndex')
var synchronizationContext = new SynchronizationContext();
var context = new JSContext(synchronizationContext);
await context.ExecuteAsync("const sleep = ms => new Promise(r => setTimeout(r, ms));");
await context.ExecuteAsync("await sleep(1000);");

Am I doing something wrong?

@adiamante I was unable to reproduce this issue, can you confirm if you are using latest version?

@ackava  I'm using the most recent from NuGet YantraJS.Core 1.2.117. I tried .NET 5.0, .NET 6.0 and .NET 7.0.
The following is the stack trace:
   at YantraJS.Core.StringSpan.get_Value()
   at YantraJS.Core.StringSpan.ToString()
   at System.Text.ValueStringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)
   at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)
   at System.String.Format(String format, Object arg0)
   at YantraJS.Core.JSFunction..ctor(JSFunctionDelegate f, StringSpan& name, StringSpan& source, Int32 length, Boolean createPrototype)
   at YantraJS.Core.JSFunction..ctor(JSFunctionDelegate f, StringSpan& name, Int32 length)
   at YantraJS.Core.Core.Generator.JSAsyncFunction.Create(JSGeneratorFunctionV2 gf)
   at YantraJS.CoreScript.Evaluate(String code, String location, ICodeCache codeCache)
   at YantraJS.Core.JSContext.<ExecuteAsync>d__101.MoveNext()
   at Microsoft.Threading.AsyncPump.Run[T](Func`1 func)
   at YantraJS.Core.JSContext.Execute(String code, String codeFilePath)
   at ConsoleApp2.Program.Main(String[] args) in C:\Users\Desktop\Desktop\maui\ConsoleApp2\ConsoleApp2\Program.cs:line 15

@adiamante The example you have provided differs from the stack trace, YantraJS.Core.JSContext.Execute(String code, String codeFilePath) is not invoked in context.ExecuteAsync method. Looks like ExecuteAsync is invoked inside something that is executed inside JavaScript. From error it looks like you are trying to execute an empty string. Is it possible to to provide code sample that can reproduce same error?

@ackava here's a link to a public repo:
https://github.com/adiamante/yantra-async-test.git

@adiamante Its fixed now, somehow the same unit test in Test Project didn't throw the error, but it only throws in console app due to some runtime optimization. However, the bug is fixed and it is working now with new release.

Just tested. Worked on console and .NET MAUI. Thanks @ackava


pgm_read_word causes core panic in ESP32

I am posting this so that it might help others in the future. I am using an ESP32-devkitC-V4 board with an ESP32-WROOM-UE module. I am using the latest arduino-esp32 core (2.0.9). I am using this library to communicate with a lora module, I have used it before in an ATMEGA328P with no issues.
The problem
When running the DeviceInfo.ino example with the library as-is, it causes the ESP32 to go into a boot loop, throwing core panics each time. I ran the stack trace through EspExceptionDecoder and it pointed me to line 1339 in TheThingsNetwork.cpp, which is:
strcpy_P(command, (char *)pgm_read_word(&(radio_table[index])));

The solution
After some time, I found this very helpful post, in which a very similar behaviour is observed in an ESP8266. The user suggests to swap pgm_read_word for pgm_read_dword, since the latter returns a 32-bit pointer. I changed all the instances of pgm_read_word in TheThingsNetwork.cpp and, voilá, it worked! No more core panics, no more reboots.
Why?
I am still unsure why this solves the problem. I understand from the post I linked before, that pgm_read_word returns a 16-bit pointer and pgm_read_dword returns a 32-bit pointer. I've also read that an Arduino int in ESP32 is 32 bits (instead of 16 as in AVR). Maybe it's related to this? Anyone got any ideas?
Final remarks
When looking up whether this library supported ESP32, I found #241 (August 2018), which fixed a compilation error for ESP32 by adding some checks before including pgmspace.h. However, the library had a huge refactor in 8a7ee08 (April 2020), significantly reducing RAM usage by placing most strings in flash. As far as I can tell, this is when compatibility with ESP32 broke. In fact, #265 describes issues very similar to mine (i.e., a boot loop), but no other comments were given... Maybe @kevin192291 still remembers how he ended up solving the issue?
Hope this helps!

Hi i have the same issue with my esp32 and my LoRa shield. i tried all that you said but nothing work. if i can make it work i tell you


$$$$  maps.google.com BILLING $$ cost vs OpenMaps

As maps.google.com will cost a fee and BILLING can this be setup working with an GPL opensource MAPs like OpenMaps
GOOGLE :: maps.google.com KEY  now is fee $$$$$

What kind of site do you use this on? Just in case you haven't explored Google Maps Pricing yet. There is a $200 credit that you can use per month. Non-commercial sites usually don't consume this credit amount. Even a low-traffic commercial site will not consume the $200 credit.