Add server-side rendering to Vue template

Add server-side rendering to Vue template.

At the moment, there are limitations that mean this would be more trouble than it's worth.

If you try to build vue-server-renderer with Webpack, the builds always report:
WARNING in ./~/vue-server-renderer/build.js
6827:15-6830:9 Critical dependency: the request of a dependency is an expression
This is because vue-server-renderer/build.js really does have a dynamic 'require' in it. As per https://github.com/vuejs/vue/issues/4463, the Vue maintainers say they expect you to use node externals, which is not as good as SSR in Angular/React that supports fully self-contained bundles that are way easier to deploy. We have already tried earlier versions of the JavaScriptServices Angular/React SSR templates that involved deploying node_modules, and it caused huge amounts of trouble - this is why the templates now only deploy self-contained bundles.

You have to use createBundleRenderer to have your code execute in a distinct Node VM context for every request, because Vue relies on mutating top-level global variables to communicate between its own modules (e.g., the __VUE_SSR_CONTEXT__ object needed to register the styles that components use). Unfortunately, vue-ssr-webpack-plugin (which generates the bundle) doesn't seem to support Webpack's DllReferencePlugin, so if you're not using Webpack externals, you end up generating very large bundles that:
[1] According to the Vue folks, won't perform well, because large amounts of code get re-parsed on every request (though I don't see why - it should be possible to cache a Node vm.Script instance and invoke it in a new context for every request)
[2] Can't reference certain NPM modules, such as node-fetch (or for a less relevant example, yargs), because the vue-ssr-webpack-plugin fails to bundle them properly (not sure why, but the error is 'Cannot find module "."' if you have a console.log(require('node-fetch')) in your SSR JSON bundle). In turn, this prevents using things like domain-task/fetch, because it depends on node-fetch.

Short-term recommendation
If the Vue team were able to fix vue-ssr-webpack-plugin's support for DllReferencePlugin,
that might be enough to solve both problems. But they should also check that they aren't
re-parsing the bundle code on every request anyway - it should be possible to re-use a
vm.Script instance AFAICT.
Longer-term recommendation:
Vue should not rely on mutating global vars as a way of tracking internal user-scoped state.
Likewise, developers building Vue apps should not do that either (nobody building server apps
thinks it's reasonable to do that). Then all the bundle-rendering stuff would be unnecessary,
like it is with Angular/React, and things like Webpack would just work in their normal way.
Until this can work better, it's better for this feature not to be in the default templates.


Missing metrics from windows nodes

Describe the bug
When Prometheus is installed, I can see metrics for the Linux nodes (CPU, Memory, Disk)...but the same metrics are not reflected for windows nodes.
Reading revealed that cAdvisor does not know how to gather metrics from windows nodes.  A windows_exporter.exe service needs to run in order to collect metrics.  Once the service is installed and metrics are being collected on the windows nodes, there is still the act of tying it back up into Prometheus and Lens.
I have not been able to figure out the magic configuration that makes this scraping happen such that the metrics show up in Lens.
To Reproduce
Steps to reproduce the behavior:

Create a cluster with both windows nodes (earmarked for running windows containers) and linux nodes
Connect Lens to Cluster and turn on prometheus
Install windows_exporter.exe as a service on the windows worker nodes
Go to "Nodes" dashboard in Lens.  Metrics will only show for linux nodes

Expected behavior
Metrics should show for linux and windows nodes.
Screenshots

Environment (please complete the following information):

Lens Version: 3.6.7
OS: [e.g. OSX] Windows 10 Pro (Lens), Ubuntu 20 (K8s nodes), Windows 2019 (Win worker nodes)
Installation method:  MSI

Couple tips to help you get closer so the prometheus metrics at least get scraped from the windows node exporter after its installed on the bare node: (note: tested with a helm deployed prometheus operator configuration)
Install windows metrics on bare node
$WebClient = New-Object System.Net.WebClient
$WebClient.DownloadFile("https://github.com/prometheus-community/windows_exporter/releases/download/v0.15.0/windows_exporter-0.15.0-amd64.msi","C:\windows_exporter-0.15.0-amd64.msi")
msiexec /i C:\windows_exporter-0.15.0-amd64.msi ENABLED_COLLECTORS=cpu,cs,container,logical_disk,memory,netframework_clrexceptions,netframework_clrinterop,netframework_clrjit,netframework_clrloading,netframework_clrlocksandthreads,netframework_clrmemory,netframework_clrremoting,netframework_clrsecurity,net,os,service,system,tcp LISTEN_PORT=9100

create service in k8s (I think the annotations and labels here are what prometheus are looking for to automagically grab available metrics)
apiVersion: v1
kind: Service
metadata:
  annotations:
    prometheus.io/scrape: 'true'
  labels:
    app: prometheus
    component: node-exporter
    release: prometheus
  name: prometheus-node-exporter-windows
  namespace: default
spec:
  ports:
    - name: metrics
      port: 9100
      protocol: TCP
      targetPort: 9100

add endpoint to service with ip of node
apiVersion: v1
kind: Endpoints
metadata:
  name: prometheus-node-exporter-windows
subsets:
  - addresses:
      - ip: <<ip address of node where you installed windows metrics exporter>>
    ports:
      - port: 9100

verify metrics are getting picked up
kubectl port-forward <<prometeus pod name>> 9090:9090
Check the graph for something windows/.net-y like "windows_netframework_clrjit_jit_il_bytes_total"
At this point theres still a couple gotchas

looks like all the windows metrics are prefixed with windows_ so lens would need to be updated to look at these
its still a manual process to install the windows node exporter (but there should be a way to script this at least in azure)
its still a manual process to maintain the endpoints that prometeus scrapes to pull in the metrics, nodes will likely get added and removed so we'd need something to keep that in sync

Just wanted to share what I have so far if it helps someone else out


[Docs] Provide tables listing basic cython types

Cython does not provide information about the basic types supported. This PR introduce table showing relation between C types, Cython types and pure python types. Moreover, this PR documents usage of fixed width types.

I like also the tables in wikipedia: https://en.wikipedia.org/wiki/C_data_types#Fixed-width_integer_types. Not sure whether this is what we want or not.

Also what I found undocumented is that in pure python prefixing type with s is creating explicitly signed type:
cython.sint <-> signed int
cython.sshort <-> signed short
...
No sure whether we want to document (maybe in pure python mode docs?) it since cython.int is the same as cython.sint. The only real usecase is for signed char  <-> cython.schar.

I like also the table in wikipedia documenting fixed width types: https://en.wikipedia.org/wiki/C_data_types#Fixed-width_integer_types. Not sure whether this is what we want or not.

I don't think we need to teach people about c types. It's not the responsibility of cython
We may add a link to this wiki page, but no more

I don't think we need to teach people about c types

I agree to some extent. I feel that some very specific types like fastest, pointers etc. should not be explained by Cython documentation. But the basic types should be explained by cython because I consider the goal of cython is: " It makes writing C extensions for Python as easy as Python itself."
So I think that some basic types should be explained by cython to avoid user trying to understand C documentation.
Side not:
My personal opinion is even much radical to be honest. I think that cython should have built-in fixed-with types because also other modern languages have them as built-in:

https://go.dev/tour/basics/11
https://doc.rust-lang.org/book/ch03-02-data-types.html#integer-types

My personal opinion is even much radical to be honest. I think that cython should have built-in fixed-with types

I agree and created #4981 for it.
That said, I think mentioning the types in the documentation seems helpful. Explaining them is better done in a C reference or Wikipedia. Wikipedia also has the advantage that it provides translations to many (human) languages.

I agree and created https://github.com/cython/cython/issues/4981 for it.

@scoder what should we do with this PR then? I propose then to remove fixed-width types and merge only numeric types. Will you sponsor such PR?

OK have removed fixed width types so now the PR should be ready for review.

Hmm there is more types present which I missed when I worked on this PR - e.g. size_t, Py_hash_t, Py_ssize_t, ...
They are mainly coming from https://github.com/cython/cython/blob/master/Cython/Compiler/PyrexTypes.py
I will add them to the table...

Added additional types, some small issues fixed and added link to stdint.pxd. Let me know if there is something else pending...

Possibly Py_UCS4 and maybe Py_UNICODE. I probably wouldn't mention Py_UNICODE though given it's deprecated/removed. But Py_UCS4 is actually useful.
I don't think it's absolutely important we're comprehensive on the first division though - it's easy to come back and add anything we've missed

Let me know if there is something missing. If not I will merge it soon.


Feature/multiple sheets

Hi @egeriis, thanks for your respons. I will work it out later :)

stalled


Receiving via LN doesn't work

Receiving without any channels returns the error (on sender side):

Perhaps it is a duplicate of https://github.com/ACINQ/phoenix/issues/6  ?

Yes there's a good chance that's the same bug. The message displayed here is generic, and means that the sender could not find a path to the receiver. Lack of inbound capacity was one of the main cause of it, but Phoenix does not have this problem thanks to the pay-to-open feature. However Phoenix still needs a connection.
Closing for now, you can reopen if you think that it's a different problem.


Adding possibility to ignore certain folders

Hi,
I don't know if it's a feature that's already implemented, but I'd really like to be able to specify certain folders to ignore when creating the documentation.
Specifically, I need to avoid creating documentations for the Pods I imported in my app.
It would be nice to be able to have a sort of gitignore equivalent, a list of folders to ignore in  an external file.
Thank you

Fixed by #241.


Make Raster a Dataset type

This is my initial attempt at making Raster a Dataset type. So far all I've done is make it a Dataset subclass and delete all the custom method implementations and surprisingly not that much broke. Will have to see how much more is required to get this working.

... and surprisingly not that much broke

I hope the good luck continues as I think Raster is now the last holdout wrt dataset types so the sooner it can be updated, the better.


Fix lang helpers

Closes: https://github.com/fnproject/fn/issues/506
Closes: #89

Just tested locally and it fixed the error I had reported. Thank you for being so swift about it :)

python2 seems to fail:
$ fn init --runtime python2.7

$ fn build
Building image playgronud:0.0.1
Sending build context to Docker daemon   5.12kB
Step 1/6 : FROM fnproject/python:2.7.13
2.7.13: Pulling from fnproject/python
88286f41530e: Already exists
ee67ab14fe7c: Pull complete
19d8fd8d5a29: Pull complete
Digest: sha256:54b06b8ddc46ee58bc2fd714bce379b7819d97e43b57cffdd3bb76aab9d09f73
Status: Downloaded newer image for fnproject/python:2.7.13
 ---> 803eb841a1ac
Step 2/6 : WORKDIR /function
Removing intermediate container 812ca5cc5076
 ---> 59c46fc5a3a5
Step 3/6 : ADD requirements.txt /function/
 ---> f22ae9b58bdb
Step 4/6 : RUN pip2 install -r requirements.txt
 ---> Running in aa3c0bfd5d6d
/bin/sh: pip2: not found
The command '/bin/sh -c pip2 install -r requirements.txt' returned a non-zero code: 127
ERROR: error running docker build: exit status 127

I wonder if for python2, it's not just pip.

Python 3 also not working as it's trying to exec python2
Python 3 not working
/t/playgronud ❯❯❯ fn init --runtime python3.6

        ______
       / ____/___
      / /_  / __ \
     / __/ / / / /
    /_/   /_/ /_/

Runtime: python3.6
func.yaml created.
/t/playgronud ❯❯❯ l
func.yaml
/t/playgronud ❯❯❯ cat > func.py
import sys
import os
import json

sys.stderr.write("Starting Python Function\n")

name = "World"

try:
  if not os.isatty(sys.stdin.fileno()):
    try:
      obj = json.loads(sys.stdin.read())
      if obj["name"] != "":
        name = obj["name"]
    except ValueError:
      # ignore it
      sys.stderr.write("no input, but that's ok\n")
except:
  pass

print "Hello", name, "!"
/t/playgronud ❯❯❯ ls
func.py   func.yaml
/t/playgronud ❯❯❯ fn run
Building image playgronud:0.0.1
Sending build context to Docker daemon  4.096kB
Step 1/4 : FROM fnproject/python:3.6
 ---> bb31b912c785
Step 2/4 : WORKDIR /function
 ---> Using cache
 ---> 0ae6b36ed462
Step 3/4 : ADD . /function/
 ---> 80ef1b9e4c83
Step 4/4 : ENTRYPOINT ["python2", "func.py"]
 ---> Running in 64465a1c246f
Removing intermediate container 64465a1c246f
 ---><PHONE_NUMBER>69
Successfully built<PHONE_NUMBER>69
Successfully tagged playgronud:0.0.1
docker: Error response from daemon: OCI runtime create failed: container_linux.go:295: starting container process caused "exec: \"python2\": executable file not found in $PATH": unknown.
ERROR: exit status 127

Autodetect broken (as 'python' is gone) :
(with func.py)

$fn init

        ______
       / ____/___
      / /_  / __ \
     / __/ / / / /
    /_/   /_/ /_/

Found python function, assuming python runtime.
Init does not support the python runtime, you'll have to create your own Dockerfile for this functionERROR: could not detect entrypoint or cmd for python, use --entrypoint and/or --cmd to set them explicitly

I realised I said it worked because I tried my limited use case, I apologise if I created some noise here.

@zootalures @Lawouach all comments were addressed

python 3 still not working with fn init:
/t/playgronud ❯❯❯  fn init --runtime python3.6

        ______
       / ____/___
      / /_  / __ \
     / __/ / / / /
    /_/   /_/ /_/

Runtime: python3.6
func.yaml created.

/t/playgronud ❯❯❯  docker pull fnproject/python:3.6
3.6: Pulling from fnproject/python
b56ae66c2937: Already exists
7febe839de39: Pull complete
e87b6dbf5eb8: Pull complete
Digest: sha256:268a9072e37cc1935d93c88393ccf8755047429eb26d188ca8de8728ec30af00
Status: Downloaded newer image for fnproject/python:3.6

/t/playgronud ❯❯❯ fn run
Building image playgronud:0.0.1
Sending build context to Docker daemon  4.096kB
Step 1/4 : FROM fnproject/python:3.6
 ---> f5f2a0e3267f
Step 2/4 : WORKDIR /function
Removing intermediate container 31f306551d5e
 ---> 22fa98d17783
Step 3/4 : ADD . /function/
 ---> d5055632743c
Step 4/4 : ENTRYPOINT ["python", "func.py"]
 ---> Running in 7e47d39a5d51
Removing intermediate container 7e47d39a5d51
 ---> accfec93ab6f
Successfully built accfec93ab6f
Successfully tagged playgronud:0.0.1
docker: Error response from daemon: OCI runtime create failed: container_linux.go:295: starting container process caused "exec: \"python\": executable file not found in $PATH": unknown.
ERROR: exit status 127

Okay, this is really annoying. Had false expectation to have aliases in fnproject/python images =/
Moving to versioned executables.
Manually tested.
 fn run
Building image fnproject:0.0.1
Sending build context to Docker daemon  669.6MB
Step 1/4 : FROM fnproject/python:3.6
3.6: Pulling from fnproject/python
b56ae66c2937: Pull complete
7febe839de39: Pull complete
e87b6dbf5eb8: Pull complete
Digest: sha256:268a9072e37cc1935d93c88393ccf8755047429eb26d188ca8de8728ec30af00
Status: Downloaded newer image for fnproject/python:3.6
 ---> f5f2a0e3267f
Step 2/4 : WORKDIR /function
 ---> 15c81e31f57e
Removing intermediate container b0f1cbfa676f
Step 3/4 : ADD . /function/
 ---> 9da09cc9a470
Step 4/4 : ENTRYPOINT python3 func.py
 ---> Running in a169a21bd5dd
 ---> 1f3a2faf2ec0
Removing intermediate container a169a21bd5dd
Successfully built 1f3a2faf2ec0
Successfully tagged fnproject:0.0.1

manually tested python, python 2.7 python 3.6 autodetect
php is still broken :
/t/playground ❯❯❯ fn init --runtime php
Runtime: php
func.yaml created.
/t/playground ❯❯❯ ls
func.yaml
func.php
/t/playground ❯❯❯ fn run
Building image playground:0.0.1
Sending build context to Docker daemon  4.096kB
Error response from daemon: Dockerfile parse error line 3: FROM requires either one or three arguments
ERROR: error running docker build: exit status 1
/t/playground ❯❯❯ less func.yaml                                                                                ⏎
version: 0.0.1
runtime: php
entrypoint: php func.php

@zootalures PHP is out of scope for my case. Don't know how to fix that. AFAIK someone already working on that, at least have seen in Slack.


[bug fixes] fix some open topics from PR510

you call "native" which returns a *C.GtkTreeSortable and then you convert again...
gtk/gtk.go
line: 9569
Originally posted by @MJacred in https://github.com/gotk3/gotk3/diffs
https://github.com/gotk3/gotk3/pull/510/files/c610b8e515c6b094311f2f7fa2151c9cdf8037cd

same topic here:
https://github.com/gotk3/gotk3/pull/510#discussion_r377196361

To make it clear, the shortest route to the correct pointer is replacing
sort := C.toGtkTreeSortable(unsafe.Pointer(v.native()))

with
sort := v.native()

as it already is the correct type.
The unsafe.Pointer route is only required for cross-package pointers, as these cannot be in the correct package due to limitations of cgo.

@MJacred (CC @mfulz) Regarding the suggested change:

you can implement userData as type uintptr -> then you won't need a return value

A benefit of using userData ...interface{} is to be able to omit the parameter, essentially making the function have an optional argument.
Both implementations currently in use have their flaws.

Using uintptr, you always have to supply a value, and have to use unsafe pointer logic
Using ...interface{} and only using the first parameter may confuse people

Suggested correction for both: Use all supplied values. I'll make a PR including this and above change, feel free to comment.

@founderio  i think now, before we make breaking changes for this topic. we creating a version for some cases with the current api.
i move this issue with the #521  to v0.5

@andre-hub Agreed, that was the reason for separate PRs. #520 is not breaking :)

we create two different version, but the PR #521 with userData ...interface{} is a good solutiion actual.


update examples.md

From the source of triples.go and the output of triples --help istm that --graphstore does not need to be separated by --.

sorry for the force push, the second commit was wrong understanding of an error on my side.


Run flyway on startup

@kjmccarthy the flyway dir will also need to be included in the Docker container (at the application root)


README.md cleanup

This commit does the following:

removes duplicate Mokriya entry
removes Railsdog (site no longer loads and [1])

[1] https://twitter.com/railsdog/status/657223704947093504

Nice one @wfhio, thanks! :+1:


Hangouts auth instructions

Not sure if this should actually be merged in or not since it's a bit manual, but putting it here in case someone else hits the same oauth issue I was having.
Great project!

I managed to get this working using these instructions, although I didn't modify the code, just dropped the refresh token in the right "json" file


Attendance: Mandatory flags type not explicit

From @arc12
Mandatory flags type not explicit
Example gives an integer. Needs explicit type in documentation. Should be consistent with lateness

This is similar to 173, the vocab document gives information on the type and value rang, in this case there was a link from the common structures to the vocab, but it was not clear or obvious.  I've added the additional information column to the common structures table, which was messy and unclear.


NH-80452 Add OTLP logs export

Adds OTLP logs export by APM Python. Adds new dependency on Otel upstream opentelemetry-exporter-otlp, previously the responsibility of layer packaging or user environment when customizing traces/metrics export, because of new defaults for log export (see below list).
Enabled by default whether APM-proto or OTLP traces/metrics are exported. Enabled by default whether outside or inside lambda environment. Configurable with Otel's OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED (env var, "OTEL" below) and SW_APM_EXPORT_LOGS_ENABLED (env var or json config file, "SW_APM" below). OTEL has precedence over SW_APM:

OTEL
SW_APM
Otlp log export enabled

unset
unset
true

true
unset
true

unset
true
true

true
true
true

false
unset
false

unset
false
false

false
false
false

false
true
false

true
false
true

APM Python also sets these as defaults for OTLP logging:

OTEL_EXPORTER_OTLP_LOGS_PROTOCOL="http/protobuf"
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="http://otel-collector:4318"
OTEL_LOGS_EXPORTER="otlp_proto_http"

Please let me know what you think about the config options 😺

Realized that the defaults I've chosen might not be ideal if no otelcollector is running nearby. I'll address this in a separate PR.


WIP: Code Generators

Extends the set of code builders available.
ast_builder
Generates an AST representation of a GraphQL Document
data_builder
Generates a typed view on top of data JSON. The generated classes are not supposed to be used directly as that would introduce tight coupling between your GraphQL documents and your application code.
class $ListPokemon {
  const $ListPokemon(this.data);

  final Map<String, dynamic> data;

  List<$ListPokemon$pokemons> get pokemons => (data["pokemons"] as List)
      .map((dynamic e) => $ListPokemon$pokemons(e as Map<String, dynamic>))
      .toList();
}

class $ListPokemon$pokemons {
  const $ListPokemon$pokemons(this.data);

  final Map<String, dynamic> data;

  String get id => data["id"] as String;
  String get name => data["name"] as String;
}

op_builder
Wraps AST and operation name into an Operation.
import 'package:gql_exec/gql_exec.dart';
import 'find_pokemon.ast.gql.dart' as find_pokemon;

const FindPokemon = Operation(
  document: find_pokemon.document,
  operationName: 'FindPokemon',
);

req_builder
Extend Request class to use specific Operation and provide ability to build variables. Builder pattern let's you handle nullable variables correctly (GraphQL spec pretty much requires both undefined and null values).
import 'package:gql_exec/gql_exec.dart' as _i1;
import 'find_pokemon.op.gql.dart' as _i2;

class FindPokemon extends _i1.Request {
  FindPokemon()
      : super(operation: _i2.FindPokemon, variables: <String, dynamic>{});

  set name(String value) => variables["name"] = value;
}

enum_builder
Generates an enum-like class per GraphQL enum type. Defines known enum values to be used in your code, and allows unknown enum values to be used without causing runtime error when handling response data.
class ReleaseType {
  const ReleaseType(this.value);

  final String value;

  static const ReleaseType ALPHA = ReleaseType('ALPHA');

  static const ReleaseType BETA = ReleaseType('BETA');

  static const ReleaseType GAMMA = ReleaseType('GAMMA');

  @override
  int get hashCode => value.hashCode;
  @override
  bool operator ==(Object o) => o is ReleaseType && o.value == value;
}

scalar_builder
Generates a container for a scalar value to be used when viewing the response data and building request variables.
class ID {
  const ID(this.value);

  final String value;

  @override
  int get hashCode => value.hashCode;
  @override
  bool operator ==(Object o) => o is ID && o.value == value;
}

input_builder
Generates an input builder to be used to build request variables.
class MutationInput {
  final Map<String, dynamic> input = <String, dynamic>{};

  set a(String value) => input['a'] = value;
}

schema_builder
Combines enum_builder, input_builder and scalar_builder.
Usage example
final result = await link.request(
  FindPokemon()..name = "Charizard",
);
final data = $FindPokemon(result.data);

final pokemon = data.pokemon;

print("Found ${pokemon.name}");
print("ID: ${pokemon.id}");

final weight = pokemon.weight;
final height = pokemon.height;

print(
  "Weight: ${weight.minimum} – ${weight.maximum}",
);
print(
  "Height: ${height.minimum} – ${height.maximum}",
);

I'm at a point where I'm happy with the set of builders I have and the core concepts the generated classes use.
Now I just have grind to get it release-ready.
The things that are still missing:

Fragments in Data Viewer
All field types in Data Viewer
Types from schema in Request Builder

@micimize, @comigor, both of you are working with code generation. Would you be able to review the description of this PR to maybe point out the things I have not thought about?

This is exciting stuff! I think the main thing to me is that the more extensible/discretely customizable it is the better. Like, with the  Visitor pattern, a user can take a preexisting visitor, override one method, and still take advantage of all the preexisting work quite easily.
One issue with the wrapped map approach as in data_builder is that when you implement non-primitive types, it looks like they'll be cast every read, which could be undesirable for DateTime, custom scalars, etc.
Also, kinda a nit-pick but I think it'd be good to maintain the editor tooling around enums somehow or another.
FWIW: In graphql-to-dart, I ended up trying to model the actual graphql "inheritance chain" pretty closely. The main trick was to have a protected fields attribute on schema types that operation data classes expose. Time will tell if doing so was worthwhile 😅

Wow, that's nice!
Why there's dollar signs on data_builder? Just to "warn" users not to use it directly?
Why don't you use some lib like equatable to avoid the boilerplate of overriding hashCode and operator ==?

@micimize

I think the main thing to me is that the more extensible/discretely customizable it is the better.
I'm actually thinking of splitting the builder (used by build_runner) off to a separate package from the code builder / code gen so that it's possible to use the code gen in any custom combination.

Like, with the Visitor pattern, a user can take a preexisting visitor, override one method, and still take advantage of all the preexisting work quite easily.
The interesting thing I found about the Visitor pattern is that sometimes you want to visit same node multiple times. Say, once to add a field to a class and once to add that same field to the constructor. So I ended up moving away from that pattern.

One issue with the wrapped map approach as in data_builder is that when you implement non-primitive types, it looks like they'll be cast every read, which could be undesirable for DateTime, custom scalars, etc.
That's a great point! I think I could work around that by caching the casted value when the getter is called.

Also, kinda a nit-pick but I think it'd be good to maintain the editor tooling around enums somehow or another.
This is a good suggestion. I think I'm not yet there to comprehend the effect of such pattern on the usage of it. I have to keep this in mind.

FWIW: In graphql-to-dart, I ended up trying to model the actual graphql "inheritance chain" pretty closely. The main trick was to have a protected fields attribute on schema types that operation data classes expose. Time will tell if doing so was worthwhile 😅
I have my doubts about that approach but I hope you succeed and make my doubts go away.

@comigor

Why there's dollar signs on data_builder? Just to "warn" users not to use it directly?
Exactly. I'm hoping the type inference let's users avoid using those types directly, but when they need to use them, it clearly look odd suggesting it's not good to do so. In my experience, it's really bad to use GraphQL types in component/modules not related to data access, because it makes them fragile.

Why don't you use some lib like equatable to avoid the boilerplate of overriding hashCode and operator ==?
I'm trying to avoid adding extra dependencies in both the generated code and the packaged code.

If you guys want to help me get this done, I can prepare the code for it and come up with concrete work items and maybe some test cases.
It might take another 3 months for me to finish it.
As I mentioned in one of the Artemis issues, I'm open to you steeling/using the end result under your own projects. Whatever makes the ecosystem better is good to me.

This is now published as gql_code_gen: v0.2.0-alpha.1 (no support for fragments).
Feel free to try it out and file issues about unexpected behavior.

Usage example can be found in this branch. See gql_example_cli

For fragments, may I suggest that we generate them as a concrete class and then have any queries that use the fragment simply implement that class? That way the fragments class can be used independent of any particular query.
For example, I have a music player app, and I want my player to interact with Song objects that may be fetched using a number of different queries. The above approach would allow the player to accept any Song subclass.


Expand home page diagram

The new diagram added in #25 has lots of detail. I think it could benefit from being expanded a bit.

LGTM


Getting a endless HttpMessageHandler cleanup cycle

From @masterjs on Tuesday, 28 August 2018 14:21:50
Hello,
I'm using the HTTP Client factory for ASPNETCORE 2.1. But now, after my second http request, I'm starting to get some logs that are getting me worried.
HttpMessageHandler expired after 120000ms for client 'default'
Starting HttpMessageHandler cleanup cycle with 1 items
BDC.ClientPortal.ApiManager> [10:11:49 DBG] Ending HttpMessageHandler cleanup cycle after 0.0342ms - processed: 0 items - remaining: 1 items
BDC.ClientPortal.ApiManager> [10:11:59 DBG] Starting HttpMessageHandler cleanup cycle with 1 items
BDC.ClientPortal.ApiManager> [10:11:59 DBG] Ending HttpMessageHandler cleanup cycle after 0.0149ms - processed: 0 items - remaining: 1 items
BDC.ClientPortal.ApiManager> [10:12:09 DBG] Starting HttpMessageHandler cleanup cycle with 1 items
BDC.ClientPortal.ApiManager> [10:12:09 DBG] Ending HttpMessageHandler cleanup cycle after 0.0025ms - processed: 0 items - remaining: 1 items
BDC.ClientPortal.ApiManager> [10:12:19 DBG] Starting HttpMessageHandler cleanup cycle with 1 items
BDC.ClientPortal.ApiManager> [10:12:19 DBG] Ending HttpMessageHandler cleanup cycle after 0.0017ms - processed: 0 items - remaining: 1 items ...
These logs are endless. Is that normal? (doesn't look normal)
thank you,
JS
***** dotnet --info *****
.NET Core SDK (reflecting any global.json):
Version:   2.1.400
Commit:    8642e60a0f
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.14393
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\2.1.400\
Host (useful for support):
Version: 2.1.2
Commit:  811c3ce6c0
.NET Core SDKs installed:
1.1.0 [C:\Program Files\dotnet\sdk]
1.1.4 [C:\Program Files\dotnet\sdk]
...
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.400 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 1.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
....
Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Copied from original issue: aspnet/Home#3470

From @rynowak on Tuesday, 28 August 2018 18:00:02
This means that there's a client/message handler that's been expired, but someone is still holding a reference to it. You can analyze what's keeping it alive by capturing a memory dump.

I'm experiencing the same issue, in the memory dump I don't see any HttpClient kept alive. Any other pointers on where to look?

After further investigation, the following object are incremented on each call to my web service:

HttpClientHandler
SocketsHttpHandler,
HttpConnectionSettings
DiagnosticsHandler
LoggingScopeHttpMessageHandler
ExpiredHandlerTrackingEntry

I am using a custom asp.net core middleware that on each call uses IServiceProvider to create an instance of a request handler, which uses IHttpClientFactory to create an HttpClient.

If you're looking at a memory dump you should be able to find the "path to root" of one of these objects - that will show you what's keeping it around in memory. What's the "path to root" of LoggingScopeHttpMessageHandler?

The path to root is:
LoggingScopeHttpMessageHandler -> ExpiredHandlerTrackingEntry -> DefaultHttpClientFactory -> Dictionary<object, object> -> ServiceProviderEngineScope -> KestrelServerOptions -> Http1Connection -> AsyncTaskMethodBuilder... -> Dictionary<Int32, Task>

Is there an instance of LifetimeTrackingHttpMessageHandler alive anywhere?

It would be great to see the path to root of HttpClientHandler

Is there an instance of LifetimeTrackingHttpMessageHandler alive anywhere?

Doesn't seem to be.

It would be great to see the path to root of HttpClientHandler

HttpClientHandler -> LoggingHttpMessageHandler -> LoggingScopeHttpMessageHandler -> ExpiredHandlerTrackingEntry -> DefaultHttpClientFactory -> Dictionary<object, object> -> ServiceProviderEngineScope -> KestrelServerOptions -> Http1Connection -> AsyncTaskMethodBuilder... -> Dictionary<Int32, Task>

When you're collecting these logs is your application mostly idle? Everything you've shown me so far seems to indicate that things are working correctly, but the weakreference hasn't been killed yet.
ExpiredHandlerTrackingEntry should have a strong reference to LoggingScopeHttpMessageHandler and a weak reference to LifetimeTrackingHttpMessageHandler
https://github.com/aspnet/HttpClientFactory/blob/master/src/Microsoft.Extensions.Http/ExpiredHandlerTrackingEntry.cs
Once LoggingScopeHttpMessageHandler goes out of scope, the weak reference will get expired and the 'real' handler should be eligible for disposal.

It seems this is the expected behavior, as it happens with an empty app that just uses IHttpClientFactory to create an HttpClient. After a lot of requests the items are cleaned. Is there a certain number of items needed before cleanup starts processing items?

Or maybe this has to do with the underlying connection handling by kestrel?

Kestrel handles sever resources not client resources (incoming connections not outgoing connections)

yes, I meant that maybe the connection that generated the request is still alive, even though my app finished handling the request

@mixandmatch025 what does your application look like? Can you share a sample that reproduces the problem?

Just a simple app can reproduce what I'm refering to:
    class Program
    {
        static async Task Main(string[] args)
        {
            var host = WebHost.CreateDefaultBuilder()
                .ConfigureLogging(l => l.SetMinimumLevel(LogLevel.Debug))
                .ConfigureServices(s => s.AddHttpClient("default").SetHandlerLifetime(TimeSpan.FromSeconds(1)))
                .Configure(a => a.Run(c =>
                {
                    var client = c.RequestServices.GetService<IHttpClientFactory>().CreateClient("default");
                    return Task.CompletedTask;
                }))
                .Build();

            await host.RunAsync();
        }
    }

After sending several requests (I'm using Chrome) a cyclic log starts to appear and the items aren't cleaning up.

The WeakReference is isn't null and is pointing to a LifetimeTrackingHttpMessageHandler that seems to be captured by a TimerCallback.
Finalizer Queue:
    000001efedd82178
    -> 000001efedd82178 System.Threading.TimerHolder
    -> 000001efedd82118 System.Threading.TimerQueueTimer
    -> 000001efedd820c0 System.Threading.TimerCallback
    -> 000001efedd81fa0 Microsoft.Extensions.Http.ActiveHandlerTrackingEntry
    -> 000001efedd81f80 Microsoft.Extensions.Http.LifetimeTrackingHttpMessageHandler

OK, well if it is the timer callback capturing it that's great because then we understand the issue.

Hmm I'm not sure there's a leak, in my console app repro, things are cleaned when I force a GC.

I think things are working as expected.

OK after some investigation everything here is by design. Here's what's happening:

Handler expiration happens based on the configured timeout (1s in this case)
We move it from active dictionary to expired queue. We store a weak reference to underlying handler so that it gets removed when it is truly out of scope.
We have another timer that goes scans expired handlers and disposes and removes them when they are out of scope (not being held by anything).

The logs seem indicate that things are never going out of scope and hence the supposed leak. What's happening is the timer that is used to expire the handler has a reference to a callback which seemingly keeps the HttpMessageHandler alive.
When a GC happens things are cleaned up as expected. Until then, the background scanner will keep looping until that happens.
If anything we could look at changing how we scan to avoid spamming the logs in this situation.

If anything we could look at changing how we scan to avoid spamming the logs in this situation.

We log this at debug level on purpose because we don't want to spam you, but we want a way to figure out what's happening if you're curious.

Avoiding spamming the logs is indeed a good first step, but could this also hide real leaks? Any idea when this could be optimized?

If anything it can point out real leaks. If you're holding onto HttpClient instances the handler may never go away and may in turn never get cleaned up.

@davidfowl  @rynowak thanks for clearing things up.

@mixandmatch025 thanks for sticking with us. For now this seems relatively harmless, the underlying issue (timer capturing the service provider) will go away in 2.2.0-preview3


Update quickstart-app-auth.md

Step 6 of [1] did not work for me.  After logging in via the microsoft auth method, I'd get an error: onResult is not a function.  I compared to the example repo at [2], and was able to get it working.  Here is what I had to do instead.
I know nothing about typescript or backstage.  So while I have tested this, I have no idea if it's correct. :)
[1] - https://backstage.io/docs/tutorials/quickstart-app-auth
[2] - https://github.com/RoadieHQ/backstage-auth-example/blob/microsoft/packages/app/src/App.tsx
Hey, I just made a Pull Request!

:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[ ] All your commits have a Signed-off-by line in the message. (more info)

Hi! Contributions need a DCO signature. See the build output for more info. https://github.com/backstage/backstage/pull/5798/checks?check_run_id=2658987735

Possibly overcome by #5795 if that gets merged. Unfortunate timing, sorry about the collision. 😄  I think the auth documentation that replaces this page resolves the issue?

@timbonicus yes, thanks for the pointer - I just tested, and that version works too.  I got the quickstart link from the console output, so I think #5795 is a better solution.


Tests fail to run when multiple configs are present

I have an examples folder within my main app containing various sample projects, one was a playwright example with a config. In my main app I had my own config. VSCode would not run any test when pressing the run button and there was no indication of a failure. Running from the command line worked fine.
I figure it out that the default profile being selected was from the config file in my examples folder and not the top level config file. Deleting that file fixed the issue.
Shouldn't this extension only use the top most config?

I've cloned the project and reproduced the issue. It's caused from _narrowDownProjectsAndLocations returning no matches and code will just skip the test without warning: https://github.com/microsoft/playwright-vscode/blob/main/src/extension.ts#L301
    try {
      for (const [model, projectsToRun] of projectsToRunByModel) {
        const { projects, locations, parametrizedTestTitle } = this._narrowDownProjectsAndLocations(projectsToRun, request.include);
        // Run if:
        //   !locations => run all tests
        //   locations.length => has matching items in project.
        if (locations && !locations.length)
          continue; // <<<<----- Skips without logging or calling `showWarningMessage`
        await this._runTest(this._testRun, new Set(), model, isDebug, projects, locations, parametrizedTestTitle);
      }
    } finally {
      this._activeSteps.clear();
      this._executionLinesChanged();
      this._testRun.end();
      this._testRun = undefined;
    }
  }

I don't know how to solve this issue properly as I would not only is there no message but _narrowDownProjectsAndLocations is incorrectly finding the wrong location.

I can also reproduce the issue with multiple "projects" in the playwright config file. Multiple projects are considered as multiple configs and causing the individual test to not execute.
While running all the tests present in the solution, the plugin gives an option to select the config, but not while running a specific test.

In a monoprepo we're finding this is a big problem. Combining configs isn't a possibility in this scenario.

I'm facing the same issue.
I'm working in a mono repo where multiple playwright.config.ts exists. Some of these are UI tests while others are API tests.
So from my point of few the extension shouldn't use the upper most playwright.config.ts  (i.e. in the root of the project) but the config file that is closest to the test being executed.


Makefile: allow custom base path to install

for example, make DESTDIR=/usr install.
Signed-off-by: Wei Fu<EMAIL_ADDRESS>

Codecov Report

Merging #3422 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3422   +/-   ##
=======================================
  Coverage   45.05%   45.05%
=======================================
  Files         113      113
  Lines       12563    12563
=======================================
  Hits         5660     5660
  Misses       6049     6049
  Partials      854      854

Flag
Coverage Δ

#linux
48.98% <ø> (ø)
:arrow_up:

#windows
40.27% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

LGTM


2017?

What do we have to change to get this to work in Revit 2017? Seems there are changes in DirectShape.CreateElement and TessellatedShapeBuilderResult.

I migrated the sample to Revit 2017 for you.
Here is what i did:

Updated the Revit API references
Incremented the .NET framework from 4.5 to 4.5.2
Reinstalled the FileFormatWavefront NuGet package
Recompiled

That produces two warnings:

Error CS1501 No overload for method 'Build' takes 3 arguments DirectObjLoader C:\a\vs\DirectObjLoader\DirectObjLoader\Command.cs 126 Active
Warning CS0618 'DirectShape.CreateElement(Document, ElementId, string, string)' is obsolete: 'This function will be obsolete in Revit 2017. Use DirectShape.CreateElement(Document, ElementId) instead. Use DirectShape.ApplicationId, DirectShape.ApplicationDataId properties to set application id and application data id.' DirectObjLoader C:\a\vs\DirectObjLoader\DirectObjLoader\Command.cs 131 Active

The warning is completely self-explanatory and trivial.
The error is caused by the changes described in What's New in the Revit 2017 API:
http://thebuildingcoder.typepad.com/blog/2016/04/whats-new-in-the-revit-2017-api.html
http://thebuildingcoder.typepad.com/blog/2016/04/whats-new-in-the-revit-2017-api.html#2.12.2
TessellatedShapeBuilder Changes
The options for building are now set as options in the TessellatedShapeBuilder itself. Access these options through the new properties:

TessellatedShapeBuilder.Target
TessellatedShapeBuilder.Fallback
TessellatedShapeBuilder.GraphicsStyleId

The build result is now accessible through GetBuildResult instead of being returned by the Build method.
I published a new released 2<IP_ADDRESS> including the corresponding changes.
The flat migration works fine, and this image was produced as a result:
/a/doc/revit/tbc/git/a/img/directobjloader_2017_emser.png
I am rather disappointed that you do not solve this yourself and create a pull request to share your solution.
What kind of one-way sharing is this supposed to be?

http://thebuildingcoder.typepad.com/blog/2016/10/directobjloader-for-revit-2017.html


Improved rate-limits with bch-js v4.15.18

:tada: This PR is included in version 1.28.1 :tada:
Your semantic-release bot :package::rocket:


deploy.ps1 fails to create event hub

Minimal steps to reproduce
Run deploy.ps1 with params
Any log messages given by the failure
deploy.ps1:70
Line |
70 |  … loyResult = New-AzResourceGroupDeployment -ResourceGroupName $resourc …
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 13.48.41 - Resource Microsoft.EventHub/namespaces 'ehkfsrwmg6n7u2t2' failed with message
| '{   "error": {     "message": "Cannot set MaximumThroughputUnits property if AutoInflate
| is not enabled. CorrelationId: ac3085a0-4224-4f73-ae54-50d7c400a3e5",     "code":
| "BadRequest"   } }'
Expected/desired behavior
Should pass
OS and Version?
Win 10
PowerShell 7.0.0
Azure PS 3.7.

I've been testing EH extensively lately and believe this to be fixed.


One-time payment sample app not found

One-time payment documentation for chrome apps is available here: One-Time Payments. At the bottom of the page, there is a link to the source code of a simple chrome app that demonstrates how to use the Chrome Web Store Licensing API: Sample Chrome App Source Code. It's giving a 404 error. I would like to know where I can view a working sample which demonstrates one-time payment with free trial.

Here it is: https://github.com/GoogleChrome/chrome-app-samples/tree/master/samples/one-time-payment


Must use custom image of cluster-api v0.1.4

/kind bug
What steps did you take and what happened:
https://github.com/kubernetes-sigs/cluster-api/issues/1104 causes a panic in the cluster-api system. In order for this to proceed, please use gcr.io/kubernetes1-226021/cluster-api-controller-amd64:dev
until that issue is closed and a release that contains that patch is in.

fixed, please use cluster api > v0.1.6 (anything in the 0.1 release with a patch number >= 6)


[BUG] MainActivity.cs in Android project makes build fail randomly.

I do not know why and to be honest this just started to drove me crazy but sometimes I try to run the project everything randomly fails due to error: 'Resource.Layout' does not contain a definition for 'Tabbar' and Toolbar. I have to rebuild the solution every time and hope it won't fail. Sometime it just runs, sometime it doesn't. What might cause this? I've have both API level 28 and 30 installed. My machine is Windows 10 and this happens in both VS 2019 and VS 2019 Preview.
Edit: upon further research, this problem has nothing to do with blazorbindings.

Yes I get this sometimes too with Android. I think it has to do with the auto-generated Android resources file, which I think you need to remove from source control (it gets auto-generated on every build). And you are also correct that it isn't specifically related to Mobile Blazor Bindings. But it annoys me too!


inf-ruby 2.5.0

Created with brew bump-formula-pr.

I've restarted the Travis Linux build. If it fails again, IMO we should ignore it - the last time it failed, it was just a umask audit failure.
Not sure why it did that, but I'll try to investigate if there's something wrong with Travis tonight if it fails again.

And it failed literally right after I commented ⌛
I'll just merge it; it passed on Mac and the important (install/test) commands passed on Linux.
Thanks a bunch @ilovezfs 😸

Sorry, hold that thought. BrewTestBot never built a bottle for this PR.

@BrewTestBot test this please


"Downloaded" assets

Currently there is no way to view all  the content downloaded through the EAM
There should be an option possibly on the sidebar for that

Duplicate of #34


Building scripts on Windows

Not a bug/issue, but it might be useful info for others trying to get up & running with msagl.js usign VSCode on Windows. Maybe it's useful for an FAQ entry.
I found that with some modifications the main scripts and examples can be build on Windows using VSCode.
After installing Node.js on Windows you should be able to run the following commands to install the build tools globally:
npm install -g yarn
npm install -g lerna
npm install -g esbuild

In the various package.json files split the "build" command into a separate clean (the linux rm/rmdir command that won't work on Windows) and build command.
After this you can either run commands as 'npm run build' or (if present) use the VSCode npm command window. Note that some of the examples end up in the website folder instead of the examples folder.
PS 1)  the clean commands use wildcards that are not compatible with Windows so one would need a batch file (and call in in the clean command) to clean the repo from previous output.
PS 2) if you want to disable minifiying the scripts (for debugging purposes), modify the 'esbuild.js' file and change all '.min.js' extensions in build scrips to just '.js'.

Msagljs builds well on Windows WSL. You are right that it should be in the docs!

Got WSL installed but no GUI so a bit to command-line for me. But good to known it can be compiled there. It would already help id you separated the commands into clean/build and rebuild (wher rebuild calls clean & build) as is the vase in Visual Studio. One could add deply for bundling and/or minimizing.
However it would not resolve the clean commands atm (but at least let one compile).

Sorry, what do you mean by no GUI? Vscode, for example, can give you a GUI. Of course, you need to configure it a bit.

You're proably right, i may be able to start VSCode from Windows from inside VSCode and  have the clone of the repo on the WSL filesystem. If i have some time I will try it.
What i meant was myu WSL des not support Linux graphical shells.

Yes, that is how I work with this repo.


Removing filtering from schedule plans (use criteria-based schedules).

Looks good. Feel free to merge when you're ready.


Merge remote-tracking branch 'askmike/stable' into stable

Am going to do this asap as part of #513


Added Empty Keys UI

GUI/Empty Keys UI - http://emptykeys.com/ui_library
Empty Keys UI is multi-platform engine agnostic XAML based user interface library. Comes with custom XAML to C# generator (open source) and multiple engine implementations (MonoGame, FNA, Xenko, SunBurn, CocosSharp).

How mature is this library? (Age, community strength, StackOverflow questions, etc.)

Library is about 2 and half years old, version 2.2 at this moment with over 7000 downloads on NuGet https://www.nuget.org/profiles/EmptyKeys. There is about 590 users on forums, 157 topics.
Part of the library is open source - https://github.com/EmptyKeys/UI_Generator and https://github.com/EmptyKeys/UI_Engines

That's nice. Can you rebase your branch so that there are not issues.

OK now? :)

Thanks. 👍


Error with using $url addMedia

This change https://github.com/jeroendesloovere/vcard/commit/ea119a3de27ddb12cd7b71d5cd769e040dfc7909 has caused issues on php 5.6 in my app. I get the following error:
Warning (2): mime_content_type(): Failed identify data 0:no magic files loaded in ...

I'm guessing because I'm passing a url instead of a file location, and mime_content_type() doesn't automatically download the file?

for a quick fix change line 218 to $mimetype = 'image/jpeg'; if you are adding a jpg of course.

Why not trying something like this? https://github.com/trippo/ResponsiveFilemanager/blob/master/filemanager/include/mime_type_lib.php

The problem is not in detecting the mime type - the problem is the regression in functionality. The previous code would detect the mime type from a base64'd value of the data, whereas the new code uses mime_content_type() of the URL, which doesn't work because it's a url and not a file location.
I'm not sure why this code was changed, but I see the following options:

Revert this change OR
Save the file contents to a temporary file before using mime_content_type()

Doing some updates and ran into this exact issue. We store our images on s3 and pass the url to addPhoto($url) and now we are getting the mime_content_type() error.
Is there a reason for this breaking change other than to reduce the library by 3 lines of code?  Debating on forking and rolling back this change, but would prefer to understand why the change was important.

Instead of forking we have just fixed our version at 1.2.2. At this time there's no need for us to upgrade to a newer version as we've been running it in production for over a year and have had no issues.

I have the same issue. mime_content_type() does not work with urls, just local filenames. If the media contents has been already downloaded why not use that to verify the mime_type and do another request just to get the mime_type? I don't understand this change...


_index.md won't show content

Apologies if this is something super obvious... but I have a file _index.md with only a title and some content, but instead of the content it just shows "1 of 0" at the top when the theme is this one (blank). I downloaded the theme in the Hugo quick start guide and the content of the page shows fine.
To clarify, here's the structure:
/content/subfolder/_index.md
/content/subfolder/post.md
And when I load localhost:1313/subfolder, it just shows the 1 of 0 at the top.
Thanks.

I've found out why - _index.md uses the list.html template under layouts/_default/list.html. I've added {{ .Content}} right after  and we're good to go.


Navbar Creation-Modification

As a front-end developer I will create a navbar containing buttons for the following links:

[ ] Admin Page Link
[ ] Create Event Page Link
[ ] Filter Modal (filter by date and/or tags)

After reading through [(https://developer.android.com/jetpack/compose/navigation)] and not being able to find a solution, I looked at the belindas_closet project to see how they set their routes up.
I am thinking we should implement something similar to what they have in that project.
Are there any thoughts on this?

Hey @kkennedy-gh, I was just curious if this was a duplicate for user story #58? If so, do you mind if I copy and paste everything from here into that user story and delete this one?

Please go ahead and copy and paste it over and delete the other one.
On Mon, Nov 6, 2023 at 1:39 AM taylorpapke @.***> wrote:

Hey @kkennedy-gh https://github.com/kkennedy-gh, I was just curious if
this was a duplicate for user story #58
https://github.com/SeattleColleges/nsc-events-android/issues/58? If so,
do you mind if I copy and paste everything from here into that user story
and delete this one?
—
Reply to this email directly, view it on GitHub
https://github.com/SeattleColleges/nsc-events-android/issues/51#issuecomment-1794423059,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AN7WAKWEIZ3CRLCWAN2KW6DYDCO3VAVCNFSM6AAAAAA5R3WS72VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJUGQZDGMBVHE
.
You are receiving this because you were mentioned.Message ID:
@.***>


Error trying to update SSL certificate

I was trying to update the ssl-cert for an app and got the following:
$ emp ssl-cert-add -a services crt.pem key.pem
error: DeleteConflict: Certificate: BLAH is currently in use by arn:aws:elasticloadbalancing:us-west-2:BLAH:loadbalancer/BLAH. Please remove it first before deleting it from IAM.
	status code: 409, request id: [c6e50af2-6b90-11e5-91fc-4df76678f0a4]

The error from AWS makes sense since empire is attempting to delete the certificate without disconnecting it from the load balancer.
It seems like empire should be more gracefully detatching, deleting, and then adding the new SSL certificate.

there is no "UpdateLoadBalancer" only "CreateLoadBalancer" which will create a load balancer with an SSL cert if it exists before it creates the process in ECS.
there should be an UpdateLoadBalancer call that can be called from ssl-cert-add and friends. i'll work on adding that.

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/APIReference/API_SetLoadBalancerListenerSSLCertificate.html @phobologic pointed out this documentation, which ssl-add-cert should be calling if the load balancer exists


Fix crashes of quantile and percentile

Closes https://github.com/cupy/cupy/issues/8806. Convert axis to a tuple before iterating over it if it is int

/test mini


Enhancement request: Get Metadata/image from  Frontmatter

I would like to have an additional option (configurable) to add more metadata to the frontmatter image, so that I can learn more about the image and access it on Unsplash for additional use.
I insert image to front matter almost daily. My use case is:

search a keyword that comes to mind for the day (yesterday "cute", last week one day it was "minions". another day it was "baby elephant") and place it in frontmatter.
sometimes i would like to use the image elsewhere, or download it in a different size to include elsewhere

Enhancement:
Two options:

add another metadata tag that either has the link to the image page (not the image) on unsplash so I can use that, also add a tag with the acknowledgement text that appears as the image caption when you paste in document so that I can access it that in frontmatter
add a command "insert image from frontmatter to document" or "insert image copy Unsplash page to clipboard" or "Insert image acknowledge frontmatter image"

Option 1 would just load the frontmatter up with some more helpful metadata that i can use to get at what I want.  I think the drawback of this is that the size of the frontmatter just grows, which I also can find distracting when there is a huge block of metadata before I even get to the document.
Option 2 (I don't know if this is possible but I think it should be) would be new plugin features that use the image URL in the Frontmatter to figure out the Unsplash page and from there return a URL of the page, or the acknowledgements (or both). One way to do this is to insert the frontmatter images (with the acknowledgement) at the current cursor position.  The other way could be to copy it to the clipboard so I can paste it somewhere.
For example this was the frontmatter image that I inserted into my daily note yesterday.
banner: "https://images.unsplash.com/photo-1425082661705-1834bfd09dca?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwzNjAwOTd8MHwxfHNlYXJjaHwzfHxDdXRlfGVufDB8MHx8fDE2NzUxNTc2ODg&ixlib=rb-4.0.3&q=80&w=1080"
This is the "Unsplash page" that I want to easily find with this enhancement request:
https://unsplash.com/photos/adK3Vu70DEQ
and the acknowledgements/attribution:
Photo by Ricky  Kharawala on [Unsplash](https://unsplash.com/images/feelings/cute?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
I use this plugin daily (at least). Thanks very much for providing it. Love the recent enhancements. This request would make your plugin that much more perfect for me. Thanks for considering.

Hi @engage-results
Great enhancement suggestion. I have a short consideration and want to make a basic design to make it more generic.

Add an option to allow users to insert the backlink (eg. photo URL on Unsplash, https://unsplash.com/photos/adK3Vu70DEQ) after the acknowledgments.
Add an option for the frontmatter insert. If this option is enabled, it will insert the acknowledgments and backlinks to the current cursor position when inserting the image into the frontmatter.

It will look like this. It will appear below the image inserted in the document or at the cursor position when insert into the frontmatter part.

Backlink | Photo by Ricky Kharawala on Unsplash.

How about this solution?

I like that solution. Thanks!

Please update the plugin to 0.3.2 and the plugin settings to switch on "insert backlink" and "append image referral at the end of the file".

Thanks. It looks good and works well.

You are welcome and thanks again for the feedback.


enhance ja_jp.lang

I cannot locate these entries in game:

updating consider
Line 494 - gui.structure
Line 569 - gui.securityOffline
Line 580 - gui.stockControl
Line 581 - gui.allowDefault
Line 582 - gui.sizeMode
Line 606 - gui.factory.secondaryEnergy
Line 783 - tooltip.conduction
Line 784 - tooltip.insulation
Line 785 - tooltip.heatCapacity
Line 908 - sideData.Fill
Line 909 - sudeData.Empty
Line 910 - sideData.Charge
Line 911 - sideData.Discharge

Could developers teach me where are these entries used in?
For improving my translation, I need to know how are used these entries.

gui.structure - can't find any usages in code
gui.securityOffline - error message used when the security frequency data is not present
gui.stockControl - Formulaic Assemblicator GUI
gui.allowDefault - Tooltip in item filters (such as the Digital Miner), I believe for allowing default transporter route
gui.sizeMode - Itemstack filters, enables filtering on stack size
gui.factory.secondaryEnergy - doesn't appear used
tooltip.conduction, tooltip.insulation, tooltip.heatCapacity - Thermodynamic conductor tooltip
sideData.Fill, sideData.Empty, sideData.Charge, sideData.Discharge - doesn't appear used

Thank you, @thiakil . Thanks to you, I can make better translation.

And, I cannot locate announce of upgrade consider. Is the way to appear it arbitrarily?

I do not understand what you are asking?

Sorry my poor English.
Does command to appear announce of update exist? It's I want to say.

I don't believe so, you'd need to download an older version of a mod

I see...

OK.
Should I translate this comment-out-ed entries?

Line 891: tooltip.ReactorNeutronCapturePlate

OK.

It does not matter if they are understood as-is, if they are the exact same as the en_us file, they should be removed.

I have a question.
Does you said "remove" not mean "have to translate"?

No, if they are understood the same as the English version, it does not need to be in the file.
If a key is not present, the game will pull it from the en_us file instead. This way, if it changes in the future the other languages will get the new name (until its translation is reviewed)

Thank you, I understood. I'm going to delete keys whats same as en_us.lang's from ja_jp.lang.

Hi @karakufire - I've merged this into my fork and it will be part of the 9.4.17 release (https://minecraft.curseforge.com/projects/mekanism-tools-dz-edition) later today. Thanks!


Any simple way of only inserting a record if it doesn't already exist?

I tried to use a unique index that describes the keys that make a record distinct, but unless I abort the transaction (which I don't want to do because this is a bulk  insert, and I'd lose 100s of good inserts),  the row still gets inserted -- even though ql reports the unique index error. I'm not sure if this is a bug or not -- I  would think that if the insert returned an error, then the row insert would fail -- but it does not.
I tried querying prior to the insert, but this massively slows things down. Any suggestions?
Thanks very much

Do you have an example of how this is usually done in other RDBMs? Then I would like to figure out if this is a feature request or a bug report (or both).

the row still gets inserted -- even though ql reports the unique index error

If there's a bug in inserting into a table with unique index please fill in a separate issue for that. Of course, a small, self-contained reproduction case is needed to investigate further.
Thanks!

Most of my experience is with postgres -- ordinarily an error in a transaction (including violating a unique index on an insert) would rollback the entire transaction. I think this is probably standard behavior for most databases. I'll try to get an example together and post it here. Note, of course, that this would not have gotten me the the behavior I wanted in my bulk inserts anyway. I'm pretty sure not aborting the transaction in this case is a bug, though.
What is probably wanted (as a feature) is an UPSERT kind of operation. The latest version of postgres supports an ON CONFLICT operator that can allows you to specify an action (update, nothing, etc) to execute when an insert fails.  You could use a  conditional  insert/update in prior versions (the insert would only occur if the update updated 0 rows).
MySQL does upserts via an ON DUPLICATE KEY UPDATE  statement.

Thanks for the info. I think the proper order is to first fix the existing bug and then decide how to design the feature.
Then comes the hard part - implementing it ;-)
BTW, do I understand correctly that what you are after is INSERT ON CONFLICT IGNORE, correct? If so, then the minimal subset to implement could possibly be the sqlite's flavor of the same, spelled INSERT OR IGNORE. What you you think?

I think in my case, a CONFLICT IGNORE would be fine. But I'm pretty sure folks will want the remainder of the CONFLICT semantics in sqlite (CONFLICT REPLACE, CONFLICT ROLLBACK, etc). But IGNORE would be an awesome start (and probably be easier to implement), and would probably cover 75% of the ON CONFLICT use cases.

Good news ;-)

@mowings
Gentle ping. Looking forward the repro case / description of the bug ;-)


Modelview Toolbar text unreadable in light mode

After the merge, the text in the schema compare toolbar doesn't show in light mode:
expected:

actual:

dark mode (shows as expected):

The toolbar used by the server/db dashboard is still working as expected

After checking the different themes, this is the case for the new themes:

Light (Visual Studio)
Light+

The ADS default light theme still shows the text as expected

Also noticed the same in SQL migration extension:

fixed by https://github.com/microsoft/azuredatastudio/pull/23581


MESISKORS

MESISKORS shows up in the definition of ousiskors:
https://tekinged.com/?lookup=mesiskors&direction=pp
What does it mean? What part of speech is it? Can someone use it in an example sentence pls?

Mesiskors: a person not dependent using a cane but has one.
Ulang was seen walking on the beach with a cane this morning.
Ak milsa Ulang el mesiskors er a kederang er a tutau.
On Fri, Oct 4, 2024 at 19:13 John Bent @.***> wrote:

MESISKORS shows up in the definition of ousiskors:
https://tekinged.com/?lookup=mesiskors&direction=pp
What does it mean? What part of speech is it? Can someone use it in an
example sentence pls?
—
Reply to this email directly, view it on GitHub
https://github.com/tekinged/missing/issues/531, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF2DJJEYPKAMXRKBLMV522TZZ5DN5AVCNFSM6AAAAABPM4M7NSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU3DONJZHE3TGMA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Drop OpenSSL?

I have locally replaced the OpenSSL dependency with tls + wuss.  If that would be of interest, I'd polish up a pull request.

What do I use OpenSSl for?

OpenSSL is used for the SSL part of the websockets:
Usage here:
https://github.com/mpickering/slack-api/blob/master/src/Web/Slack.hs#L58
Dependency here:
https://github.com/mpickering/slack-api/blob/master/slack-api.cabal#L76

If you think this is a good idea then sure. I think I just copy and pasted code.


Greenkeeper/request 2.85.0

Coverage remained the same at 72.945% when pulling 0cf77475fcd98df2ad61b7511aee780d6107f5e5 on greenkeeper/request-2.85.0 into 475591e42df26b74a3457dd0836d413d617b5b5d on master.


Add optional parameters to pick other than first paragraph

Allow colon-separated values to be appended to the inline=paragraph.

Range of paragraphs:  n-n
Multiple ranges:   1-3,4-7,8,12-13

Added in 0.2.0


LoaderOptionsPlugin not found

I'm submitting a bug report
I'm using this configuration:
new LoaderOptionsPlugin({
      options: {
        /**
        * Static analysis linter for TypeScript advanced options configuration
        * Description: An extensible linter for the TypeScript language.
        *
        * See: https://github.com/wbuchwalter/tslint-loader
        */
        tslint: {
          emitErrors: false,
          failOnHint: false,
          resourcePath: 'src'
        },
      }
   })

webpack is telling me that:
new LoaderOptionsPlugin({
^
ReferenceError: LoaderOptionsPlugin is not defined

I'm using webpack 2.1.0-beta.27 version and I've checked LoaderOptionsPlugin is under node_modules/webpack...
Webpack version:
2.1.0-beta.27
Please tell us about your environment:
Windows 10

new webpack.LoaderOptionsPlugin.
You should be able to give options to tslint with options, though. See https://webpack.js.org/configuration/module/#rule-options-rule-query

As @Kovensky said ^^.


Using Portal produces a TypeScript error

Description
I'm using Portal inside a Popover but it produces an error. I have to add // @ts-ignore to make it work

Link to Reproduction (or Detailed Explanation)
https://codesandbox.io/p/devbox/hardcore-frog-kfkk9c?file=%2Fapp%2Fpage.tsx%3A16%2C29
Steps to Reproduce

Use Portal component in a React App

Ark UI Version
1.1.0
Framework

[X] React
[ ] Solid
[ ] Vue

Browser
No response
Additional Information
No response

@aureldussauge
Thanks for taking your time to create this issue. This is apparently a Codesandbox only problem since I could not reproduce this in a Next.js, Astro or component library setup but Codesandbox.

@aureldussauge
I've took a closer look and apparently TypeScript resolved the types to:
export declare const Portal: (props: PropsWithChildren<PortalProps>) => ReactNode;

Which is not correct. So I've added ean xplicit return type so the result looks like this:
export declare const Portal: (props: PropsWithChildren<PortalProps>) => ReactPortal[] | ReactNode | null | undefined;

I'm not sure if that helps but since its anyway just a Codesandbox thing I will close this issue. The "possible" fix for this will be availabe in the next release.

Thank you @cschroeter
I have the problem in IntelliJ. I'll give it a try with the next release and keep you informed


Changelog update for Mix.Ecto.migrations_path/1

Changelog update for backward incompatible API change
The function migrations_path/1 has moved from Mix.Ecto to Ecto.Migrator.  This is understandable since ecto 3 shouldn't have database knowledge as that's moved to ecto_sql.
Suggested update to the changelog
Backwards incompatible changes

[Mix.Ecto] Ecto.migrations_path/1 has been removed from the Mix.Ecto module and added to the Ecto.Migrator module in the ecto_sql package.

Thanks @kipcole9! Note that Mix.Ecto was private, which is why we didn't list this change in the CHANGELOG.

Thanks José.  May I assume Ecto.Migrator.migrations_path/1 is public?  I see nothing in the module to suggest otherwise and being consistent about where to generate migrations for libs is very helpful.
I try to use only public API's but seems I regularly step over the line unknowingly.  I have interpreted an @doc on a def function as public - is that the wrong assumption?

Oh, i see. If you have @moduledoc false in a module, then all functions in that module are private, regardless of @doc. If in doubt, you can consult the online docs. Ecto.Migrator.migrations_path is pubic though :+1:.

How should a library find the migrations_path for Ecto 2.x and 3.x?
See https://github.com/ueberauth/guardian_db/issues/93

The suggested Ecto.Migrator.migration_path should work on both.
José Valimwww.plataformatec.com.br
http://www.plataformatec.com.br/Founder and Director of R&D

Doesn't work for me.

Ah, you are correct, sorry.
i think you can check the Ecto version or if use code.ensure_loaded? and
function_exported? to see if the migrator function exists accordingly.
José Valimwww.plataformatec.com.br
http://www.plataformatec.com.br/Founder and Director of R&D

Thanks @josevalim.
Example of resolving this in another library (as pointed out on Slack):
https://github.com/kipcole9/money/commit/c2766dece7f241f25b86999876d756d7b7d7a4be


Fix typo

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

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

http://onelink.to/yqazny

Looks good. Thanks @changeworld.


Suggestions Appear below the keyboard? ... and adjustment of the view due to keyboardWill Show is reset

first of all I thank you for that library it is a must have one. However, I have two issues with the library and they are as follows:
1st:
the suggestions table appear below the keyboard... but since the text field is nearly in the lower middle I prefer to show the table above the textField
2nd:
since I want the user to see the contents while typing I shift the textField view upwards... and it remains there until a choice from the suggestions table is Made.. the shifted view is reset to its original place behind the keyboard
3rd:
I know I only said 2, but can I have the option to resize the suggestion table width (not by resizing the textField itself)
One Last Comment: in the inline Mode: How can I accept the text without writing all of it

for the 2nd Issue I Know now that it is related to StackViews and autoLayout .. the problem is that I shift the toolbar above the keyboard when the Keybord is going to show but autolayout resets the views again to its original value after I choose an item from the autoCompleteTextBox

Hey!, can you please take a look at the new 1.1.5 version?. I improved the calc of the results height. Probably it fixes your 1st suggestion at least. Thanks!


ODFE 1.12.0 based on ES 7.10.0

ODFE 1.12.0 based on ES 7.10.0
Release Engineering / Build Repo Key Changes:

Add CodeQL for scanning vulnerabilities for Pull Request in opendistro-build repository (#466)

[Helm] All roles in one statefulset, allows to choose between dedicated/non-dedicated pods for lightweight deployments, thanks @everythings-gonna-be-alright  (#453)

[Helm] Fix description of "maxUnavailable", thanks @webwurst (#489)

More

Is there any ETA on this?

I am looking ODFE security plugin for elasticsearch 7.9.2 version, may I know about the Upcoming release will cover this version also or only elasticsearch 7.10.0 and any ETA on this?

Hi @kvnvkumar we currently have no plan for ES 7.9.2.
The next release of ODFE 1.12.0 will be based on ES 7.10.0.
Thanks.


Adds asset_type to SiteSQL model

Pull Request
Description
Adds asset_type to SiteSQL model
asset_type is modelled as an enum to ensure value is "pv" or "wind" when inserted into the DB.
Fixes #
How Has This Been Tested?
If your changes affect data processing, have you plotted any changes? i.e. have you done a quick sanity check?

[x] Yes

Checklist:

[x] My code follows OCF's coding style guidelines
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have checked my code and corrected any misspellings

Looks great @confusedmatrix, Ill let you do the merging


does it support xls ?

does it support xls ?

Sorry, not for now but it does support .xlsx
Will try my best to give support to xls in future.

@justkawal Is this library still not supported xls?


Manage paths exclusion

Support a new excludePath servlet parameter, based on the ExcludePathMatcher from pac4j v1.8.1

PR: https://github.com/pac4j/j2e-pac4j/pull/25 & https://github.com/pac4j/j2e-pac4j-demo/pull/20


How to manage cache busting on an existing project?

Hi,
I'm trying to use Brunch instead of Grunt in my build process. But I could not find any satisfying way to build files with generated cachebusting strings and to use them in my HTML. I can't use appCache manifest, which is only available with IE 10, and I must support IE 9.
I would like to be able to rename generated files like this: app-[generated string].js and use it in the HTML. Is there a way to do that?
Thanks.

Possible! There is a git-digest brunch plugin, check it out: https://www.npmjs.com/package/git-digest-brunch

I'm not sure git-digest-brunch would be the best solution for this case, for two reasons:

The git digest will change with a new commit, even if the commit results in no changes to a built asset. A hash of the asset contents would be more appropriate to avoid premature cache "eviction".
It's fairly common for caching proxies to ignore query string parameters, and you may not have control over the caching proxy configuration. It would be better to include the cache key in the filename to ensure  you avoid loading an out of date asset from the cache.

From the discussion on #749 digest-brunch is mentioned. While the author says he feels his approach is a hack (possibly due to manipulating the built files on the filesystem), it appears to be effective.

git-digest-brunch doesn't work when used in combination with jaded-brunch and other various jade plugins I've tried.
It doesn't replace the DIGEST in the html output, but it works with js files.
I've created an issue but it seems the author isn't working on the project anymore.
Anyone had the same issue or found a workaround?


Investigations should be specializations of Event

Background
UCO Issue 541 introduced general uco-core:Events.
CASE's Investigation class has, to date, been encoded as a uco-core:ContextualCompilation.  (This class design predates my own involvement in CASE, so I can only guess to motives for this.)
ContextualCompilation provides a "Set" construct that lets arbitrary items be grouped together, using uco-core:object.
Requirements
Requirement 1
Investigation should exercise Event.
Requirement 2
Investigations must maintain the ability to link InvestigativeActions, ProvenanceRecords, and other CASE classes that tie to investigative contexts.
This proposal does not impose a requirement they need to be linked with the same predicate as today, but other developments in UCO might mean they would no longer be linked the same way.
Risk / Benefit analysis
Benefits

This appears, to the proposer, to align investigations with a more concrete experience than an abstract "Compilation of objections that share a context."  As currently modeled, Investigation is more a representation of the set of things pertaining to an investigation, rather than the investigation itself.

Risks

An in-flight proposal on the UCO tracker affect how Events could be required to behave differently from ContextualCompilations, so this might not be a backwards-compatible proposal.  UCO Issue 544 introduces a disjoint pair of classes, endurants and perdurants.  Under that proposal, Event would fall under Perdurant.  While not written in the current proposal's state, it is likely that Compilation would be interpreted as an Endurant.  If all that is accepted, an Investigation would not be able to be a ContextualCompilation and Event, as the classes would be disjoint.
The endurant/perdurant proposal also introduces a relating predicate, participatesIn, domain endurant, range perdurant; and perdurantProperPartOf, domain perdurant, range perdurant.  This would possibly change how InvestigativeActions relate to Investigations, as they may need to use perdurantProperPartOf (or some subproperty), while anything else (e.g. ProvenanceRecords) would need to use participatesIn.
uco-core:object is a vaguely-described linking predicate with no RDFS domain specified and a nearly-maximally general UcoObject range, so it is not clear if existing data would need to be changed.

Competencies demonstrated
(Competencies deferred for discussion.)
Competency 1

Competency Question 1.1
Result 1.1
Competency Question 1.2

Result 1.2
Solution suggestion
For CASE 1.x.0, BEFORE merging of UCO Issue 544, add to Investigation's definition:
investigation:Investigation
    rdfs:subClassOf uco-core:Event ;
    .

AFTER merging of Issue 544 (assuming UCO Ontology Committee votes so), subtract this subclassing:
investigation:Investigation
    rdfs:subClassOf uco-core:ContextualCompilation ;
    .

uco-core:object can retain its usage on Investigation, but I suggest this is thanks to a lack of specification, which does not feel future-proofed.  This SHACL shape can be added to maintain current data behavior, but Issue 544 could also obviate the property:
investigation:Investigation
    sh:property [
        a sh:PropertyShape ;
        sh:class uco-core:UcoObject ;
        sh:nodeKind sh:IRI ;
        sh:path uco-core:object ;
    ] ;
    .

Note: That shape also omits the minimum-1 constraint on uco-core:object.  I am not sure if that constraint was purposefully intended to fail SHACL validation on an investigation containing no objects, or if it was an overzealous translation of an owl:someValuesFrom restriction.
By the time of UCO 2.0.0's release and CASE 2.0.0's release, I think Investigation should no longer be a ContextualCompilation.

Coordination

Tracking in Jira ticket ONT-492

[x] Administrative review completed, proposal announced to Ontology Committees (OCs) on Nov.17, 2023
[x] Requirements to be discussed in OC meeting, date Nov.28, 2023

[ ] Requirements Review vote has not occurred

[ ] Requirements development phase completed.
[ ] Solution announced to OCs on TODO-date
[ ] Solutions Approval to be discussed in OC meeting, date TBD
[ ] Solutions Approval vote has not occurred

[ ] Solutions development phase completed.
[ ] Backwards-compatible implementation merged into develop for the next release
[ ] develop state with backwards-compatible implementation merged into develop-2.0.0
[ ] Backwards-incompatible implementation merged into develop-2.0.0 (or N/A)
[ ] Milestone linked
[ ] Documentation logged in pending release page

I would object to Investigation being made a subClass of Event and especially any proposal to remove it as a subClass of ContextualCompilation.
It is true that one aspect of an Investigation is a set of actions that occur overtime in the investigative process but it is not only that. It is also the set of data/information/knowledge analyzed and the set of data/information/knowledge learned in the investigation.
It is not purely a temporal (perdurant) thing and it is not purely a data/information/knowledge (endurant) thing. It is both. Both aspects are relevant and highly interconnected.
This is one example of the problematic nature of enforcing formal rigor in dividing any concept exclusively between endurant (concepts that can be defined independent of time) and perdurants (concepts that must be defined dependent of time) in ontologies intended for practical purposes.
In practical use some concepts can be both perdurants and endurants in that they have some aspects that are dependent of time and others that are not.
The very heart of an investigation is a contextual compilation of things that happened during the investigation (perdurant things) and things that were observed, collected, analyzed, and learned during the investigation (endurant things).
Trying to split out these two aspects into separate graphs while maintaining coherence of interrelationships would be far more complex than the current approach and the current approach already enables capture of relevant details whether perdurant or endurant using core:object.
I would not object to making Investigation a subclass of both ContextualCompilation and Event as long as core:eventType was hard set to "Investigation" and the cardinality of core:eventContext was set to maxCount=0 to prevent confusion between it and core:object on ContextualCompilation.


Parameter -AsHciAzureStackLCMUserCredential has been renamed to -AsHciDeploymentUserCredential

The documented parameter -AsHciAzureStackLCMUserCredential has been renamed to -AsHciDeploymentUserCredential and this document needs to be updated.

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

ID: fd5a83a8-3d61-090c-68f9-002b03048ef9
Version Independent ID: 5eb2d3d1-d12e-9f7f-fa2f-4c2d54869388
Content: Prepare Active Directory for new Azure Stack HCI deployments (preview) - Azure Stack HCI
Content Source: azure-stack/hci/deploy/deployment-tool-active-directory.md
Service: azure-stack
Sub-service: azure-stack-hci
GitHub Login: @dansisson
Microsoft Alias: v-dansisson

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

@davyhoyle
Thanks for reporting this! We have created a PR for this issue and the changes should go live soon.


[QUESTION] Aimstep

On a scale of 1-10 how hard would it be to implement aimstep to osiris?

-10 it's already there as max angle delta set it to 30 and you're gucci

-10 it's already there as max angle delta set it to 30 and you're gucci

So I can use silent aim with a high fov in casual like this and I wont get a vac auth?

Yes


Promises example

Hello, it seems that the example using promises is not working as expected. Using the code presented on the README file, the promise is never resolved. The problem looks to happen because four parameters are passed to lineReader.eachLine function.
If a pass only the following params:
lineReader.eachLine(filename, options, function(err){ ...})
the promise is resolved. Can you please check the code on the readme file?

I am having a similar issue when trying to use pool.query inside of eachLine

I couldn't make promises work either.
I found that you can use node's readline functionality instead. Wrote it up here - https://daendersby.medium.com/stop-using-line-reader-1ad452f68155


Ensure previous search and replace texts are evaluated and updated in the UI at startup

Small change to ensure the UI is updated on launch with the results of search/replace text that was stored in a previous session.

This is odd. @chrdavis the total diff seems to be a single file but your commits show a lot more.

Odd.  An artifact of keeping my fork in sync with upstream?  I had hoped my squash merge would remove all of that.

Should it contain more or just that one file?

Just the one file.