hdfs: general enhancements

Individual commits describes the changes. But can provide more detail / explanation if asked.

Note that pyarrow.hdfs.HadoopFileSystem is deprecated (in favor of pyarrow.fs.HadoopFileSystem, which has a different API) and will be removed in a future pyarrow version (probably early next year). See https://github.com/intake/filesystem_spec/issues/663.
(this of course doesn't mean that the current implemenation can't be further maintained/improved, as this PR does, to be clear! I just want to make people aware of the situation)

@jorisvandenbossche Thanks for the heads up! We are actually already using pyarrow.fs.HadoopFileSystem in our own implementation in dvc, and will look into migrating fsspec as well, as our end goal is to migrate to fsspec's hdfs fs anyway :slightly_smiling_face:

Thanks @jorisvandenbossche, noticed it when writing tests and seeing the deprecation warnings pop up. I am currently working on preparing a patch (based on your branch referenced in the same issue) to support pyarrow.fs like interfaces (including Local and Hadoop). I would assume it is going to be a separate PR than this, since this might be still useful but I have no preferences (it is a on a separate branch anyway).

Given the introduction of the arrow FS, do you think we should start referring to this one as "hdfs_legacy" or something (and maintain the original "hdfs" too, for now).

Let's defer this after the merge of both of my PRs.


fix: add lodash to package.json

Lodash is a direct application import and should be stated in dependencies. Otherwise this results in it being a phantom dep. that isn't being included when using the package as a third party.

Alternatively add it as a peer dependency.

Nice catch, and thanks for the sponsorship! You rock.

You can give it a shot with the latest version:
npm i silly-password-generator@latest

Let me know how it goes.

Works like a charm! Thanks @justinmahar :)


issue with third party boards from adafruit

Arduino bare minimum sketch fails to compile successfully on adafruit boards, most likely due to the board definition doesn't exist properly. if this can't be fixed, please make a circuitpython library for those with circuitpython boards like me.
anyway, the log usually states this:
 void setup(HardwareSerial &serial_ref = Serial, String deviceName = BOARD);

                                         ^

actually ive only tried the feather M0 Express board, i'm not sure about other boards though

This library is not intended to be used with CircuitPython, but with normal Arduino IDE. We don't plan to implement support for this at the moment as we do not have hardware for testing, but if anyone is interested in doing this, we can reopen this ticket and accept the pull request.

like i said: i have errors with uploading the bare minimum sketch from the arduino IDE to an adafruit feather M0 express. contrary to that, i also tried an arduino uno and it works just fine, i'm getting compiler errors with a third party arduino compatible not listed in boardnames.h

this is what i get with the same board while compiling the bareminimum2 sketch
C:\Users\Nep Soundfont\Documents\ArduinoData\packages\adafruit\hardware\samd\1.5.2\variants\feather_m0_express/variant.h:240:37: error: could not convert 'Serial' from 'Serial_' to 'HardwareSerial&'
#define SERIAL_PORT_MONITOR         Serial
                                 ^

C:\Users\Nep Soundfont\Documents\Arduino\libraries\Minecraft_Link\src/MinecraftLink.h:54:45: note: in expansion of macro 'SERIAL_PORT_MONITOR'
 void setup(HardwareSerial &serial_ref = SERIAL_PORT_MONITOR, String deviceName = BOARD);

                                         ^

C:\Users\Nep Soundfont\Documents\Arduino\libraries\Minecraft_Link\examples\BareMinimum2\BareMinimum2.ino: In function 'void setup()':
BareMinimum2:5:46: error: no matching function for call to 'MinecraftLinkImpl::setup(Serial_&, const char [12])'
 MinecraftLink.setup(Serial, "Device Name");

                                          ^

C:\Users\Nep Soundfont\Documents\Arduino\libraries\Minecraft_Link\examples\BareMinimum2\BareMinimum2.ino:5:46: note: candidate is:
In file included from C:\Users\Nep Soundfont\Documents\Arduino\libraries\Minecraft_Link\examples\BareMinimum2\BareMinimum2.ino:1:0:
C:\Users\Nep Soundfont\Documents\Arduino\libraries\Minecraft_Link\src/MinecraftLink.h:54:10: note: void MinecraftLinkImpl::setup(HardwareSerial&, String)
 void setup(HardwareSerial &serial_ref = SERIAL_PORT_MONITOR, String deviceName = BOARD);

      ^

C:\Users\Nep Soundfont\Documents\Arduino\libraries\Minecraft_Link\src/MinecraftLink.h:54:10: note:   no known conversion for argument 1 from 'Serial_' to 'HardwareSerial&'
exit status 1
no matching function for call to 'MinecraftLinkImpl::setup(Serial_&, const char [12])'
looks approximately the same, but it's different

We have fixed this issue in Minecraft Link for Arduino 1.1.0. The update in the library manager should be available soon.


external-name intermittently changes

What happened?

For some managed objects (such as subnets.ec2.aws.upbound.io) the external name gets updated from the explicitly set (e.g. private-subnet-0-us-east-2-main) to the actual subnet-id (as per AWS):

How can we reproduce it?

Composition including some AWS resource (e.g. kind: Subnet) and patch setting the external-name annotation such as:
    - name: private-subnet-0
      base:
        apiVersion: ec2.aws.upbound.io/v1beta1
        kind: Subnet
        metadata:
          labels: &labels
            type: subnet
            nx-subnet-visibility: private
            nx-component: eks
        spec:
          forProvider:
            mapPublicIpOnLaunch: false
            tags:
              <<: *labels
              kubernetes.io/role/internal-elb: "1"
      patches:
        - *commonParametersPatch
        [... REDACTED ...]
        - &setName
          type: CombineFromComposite
          toFieldPath: metadata.name
          combine:
            variables:
            - fromFieldPath: spec.resourceConfig.region
            - fromFieldPath: spec.parameters.clusterName
            strategy: string
            string:
              fmt: "private-subnet-0-%s-%s"
        - <<: *setName
          toFieldPath: metadata.annotations["crossplane.io/external-name"]
        - <<: *setName
          toFieldPath: spec.forProvider.tags.Name

What environment did it happen in?

Universal Crossplane Version: crossplane:v1.11.2
Provider Version: xpkg.upbound.io/upbound/provider-aws:v0.31.0
Kubernetes version: v1.25.6

One side-effect of this:
Message:               apply failed: creating Route Table (private-route-table-0-us-east-2-main) Association:  NotFound: The routeTable ID 'private-route-table-0-us-east-2-main' does not exist
status code: 400, request id: 67f46591-7f08-44df-94c4-d866c2aed3d7:

the external-name identifier for subnet is the id subnet-... from AWS
https://github.com/upbound/provider-aws/blob/main/config/externalname.go#L280
if you want to set a name for subnet add a tag with Name key

Hi, thanks for the heads-up, but that's not what I'm referring to.
Let me rephrase the issue in that case.
The purpose is not setting a the name of the object in AWS (as you can infer from the composition snippet, the Name tag  is already set with the same value).
The original goal was to allow Crossplane take ownership of infrastructure elements managed by a former setup of Crossplane. In other words, when Crossplane chart was reinstalled, multiple components were out of sync:
NAME                             READY   SYNCED   EXTERNAL-NAME                     AGE
private-route-0-us-east-2-main   True    False    rtb-0dde94591c6c2adc6_<IP_ADDRESS>/0   21h
private-route-1-us-east-2-main   True    False    rtb-04e63b3bda8e9710d_<IP_ADDRESS>/0   21h
private-route-2-us-east-2-main   True    False    rtb-0c628bbaf45ea0b5a_<IP_ADDRESS>/0   21h

and getting the following warnings from provider-aws deployment:
│ provider-aws-90b53987357c-85d764978-chj94 1.6790472021499872e+09    DEBUG    provider-aws    Cannot observe external resource    {"controller": "managed/ec2.aws.upbound.io/v1beta1, kind=route", "request":  │
│ "/private-route-1-us-east-2-main", "uid": "5b929868-785f-4477-86db-16b57465b577", "version": "2694401", "external-name": "rtb-04e63b3bda8e9710d_<IP_ADDRESS>/0", "error": "cannot run plan: plan failed: ", "error │
│ Verbose": "plan failed: \ncannot run plan\ngithub.com/upbound/upjet/pkg/controller.(*external).Observe\n\tgithub.com/upbound/upjet@v0.9.0-rc.0.0.20230308103251-5377e5db7994/pkg/controller/external.go:204\n │
│<EMAIL_ADDRESS>│
│<EMAIL_ADDRESS>│
│ r.go:54\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\tsigs.k8s.io/controller-runtime@v0.12.1/pkg/internal/controller/controller.go:121\nsigs.k8s.io/controller-runtime/p │
│ kg/internal/controller.(*Controller).reconcileHandler\n\tsigs.k8s.io/controller-runtime@v0.12.1/pkg/internal/controller/controller.go:320\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controlle │
│ r).processNextWorkItem\n\tsigs.k8s.io/controller-runtime@v0.12.1/pkg/internal/controller/controller.go:273\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\tsigs.k8s.io │
│ /controller-runtime@v0.12.1/pkg/internal/controller/controller.go:234\nruntime.goexit\n\truntime/asm_amd64.s:1594"}                                                                                │
│ provider-aws-90b53987357c-85d764978-chj94 1.6790472021517222e+09    DEBUG    events    Warning    {"object": {"kind":"Route","name":"private-route-1-us-east-2-main","uid":"5b929868-785f-4477-86db-16b57465b │
│ 577","apiVersion":"ec2.aws.upbound.io/v1beta1","resourceVersion":"2694401"}, "reason": "CannotObserveExternalResource", "message": "cannot run plan: plan failed: "}

The solution/workaround at that point was to explicitly set external-name, so Crossplane could regain ownership and SYNC these objects.
As a side effect, I got bouncing external-names as stated here and errors as raised in this issue.

@fernandezcuesta did you ever find any workaround for this?
Also would be nice with some guidance from Upbound on how to handle resources with non-predictable external-names that are generated by AWS. Is there any other mechanism that we can use to inherit ownership of an already existing resource (without manually adding the annotation)?

/fresh


Implement stop button in audio player

Title:
#673: Stop button in audio player
Description:
Add stop button and implement stop feature in audio player.

Deployed to: http://staging.quran.com:32922

@naveed-ahmad let's pause on this until RR4 is out please?

Deployed to: http://staging.quran.com:32924

Player doesn't look good, we've space lets use it :)

@mmahalwy Okay with the pause😄. Please, can you help me look at the staging app, I can't seem to figure out why there's a bit of a replay between the end of a surah and the beginning of another. I could not reproduce this bug locally.

Deployed to: http://staging.quran.com:32943

@azeezolaniran2016 can i close this?


Deploy failing during initialization

Anyone having issue deploying lately? I've been having issues deploying since yesterday.
now: 8.3.6
node: 8.5.0
os: Ubuntu 17.04 x64
Here is the output via --debug:
~ now -t $TOKEN
> Caching account information
> Deploying ~/workspace/jobs under alfan
> [debug] Detected `deploymentType` = `npm`
> [debug] Detected `deploymentName` = "jobs"
> [debug] #1 GET /secrets: 720.726ms
(node:21189) Warning: No such label '> [debug] #1 GET /secrets' for console.timeEnd()
(node:21189) Warning: No such label '> [debug] #1 GET /secrets' for console.timeEnd()
(node:21189) Warning: No such label '> [debug] #1 GET /secrets' for console.timeEnd()
(node:21189) Warning: No such label '> [debug] #1 GET /secrets' for console.timeEnd()
(node:21189) Warning: No such label '> [debug] #1 GET /secrets' for console.timeEnd()
(node:21189) Warning: No such label '> [debug] #1 GET /secrets' for console.timeEnd()
(node:21189) Warning: No such label '> [debug] #1 GET /secrets' for console.timeEnd()
(node:21189) Warning: No such label '> [debug] #1 GET /secrets' for console.timeEnd()
(node:21189) Warning: No such label '> [debug] #1 GET /secrets' for console.timeEnd()
(node:21189) Warning: No such label '> [debug] #1 GET /secrets' for console.timeEnd()
> [debug] ignoring "/home/jake/workspace/jobs/.env"
> [debug] ignoring "/home/jake/workspace/jobs/.git"
> [debug] ignoring "/home/jake/workspace/jobs/.gitignore"
> [debug] ignoring "/home/jake/workspace/jobs/.nyc_output"
> [debug] ignoring "/home/jake/workspace/jobs/.vscode"
> [debug] ignoring "/home/jake/workspace/jobs/coverage"
> [debug] ignoring "/home/jake/workspace/jobs/node_modules"
> [debug] ignoring "/home/jake/workspace/jobs/dist/app.js"
> [debug] ignoring "/home/jake/workspace/jobs/dist/config"
> [debug] ignoring "/home/jake/workspace/jobs/dist/helpers"
> [debug] ignoring "/home/jake/workspace/jobs/dist/index.js"
> [debug] ignoring "/home/jake/workspace/jobs/dist/jobs"
> [debug] ignoring "/home/jake/workspace/jobs/dist/lib"
> [debug] ignoring "/home/jake/workspace/jobs/dist/models"
> [debug] ignoring "/home/jake/workspace/jobs/dist/routes"
> [debug] ignoring "/home/jake/workspace/jobs/dist/scripts"
> [debug] ignoring "/home/jake/workspace/jobs/dist/services"
> [debug] ignoring "/home/jake/workspace/jobs/dist/views"
> [debug] locating files /home/jake/workspace/jobs: 27.184ms
> [debug] Getting files: 35.918ms
> [debug] Computing hashes: 59.883ms
> [debug] /now/create: 2355.319ms
> Using Node.js 8.4.0 (requested: `8.5.0`)
> Ready! https://jobs-zsmcydjghw.now.sh [4s]
> Initializing…
> [debug] closing agent

I believe this is resolved now. I believe it was a local issue with my source branch being out of sync with my remote branch.


Consider upgrading to Python 3.6

At the moment, the code runs on Python 2.7 and Python 3.x. However, Python 3.5 and 3.6 come with nice features for variable annotations which could help a lot during development. So with the obtained features from the latest version of Python, I don't see much reason in sticking to supporting Python 2.7.

Upgraded all servers to use Python 3.6. To summarise:

I had to re-image web dev server because it was on Ubuntu 15.04 and I struggled to get Python 3.6 on it. I initially tried to find a ppa online which has Python 3.6 for Ubuntu 15.04 but I couldn't. I ended up building Python from sources. However, when I tried to build mod_wsgi for Python 3.6, I failed, as I couldn't find the python3.6-dev for Ubuntu 15.04. So I decided it might be just easier to re-image the web server using Ubuntu 16.04 and install Python 3.6 from Ubuntu packages.

For Jenkins, it was also on Ubuntu 15.04, but since I didn't require mod_wsgi on it, it was sufficient to just build Python 3.6 from sources. To document things, this is how I built it:

# Install SQL lite dev package so Python 3 makefile picks it up and add the `sqlite3' built-in module, whic his required for running the tests.
apt-get install libsqlite3-dev

# Download Python sources and build them.
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
tar -xvzf Python-3.6.0.tgz
cd Python-3.6.0
./configure --enable-optimizations
make
make altinstall  # It seems that this step actually recompile and re-run all tests from the previous step, so wondering whether we can simply run this step only?

I updated the Installing Web Server on an Ubuntu Server Wiki page.


Upgrade ember-cli 2.12.3 inter-dependencies

This project uses semver, please check the scope of this pr:

[ ] #none# - documentation fixes and/or test additions
[x] #patch# - backwards-compatible bug fix
[ ] #minor# - adding functionality in a backwards-compatible manner
[ ] #major# - incompatible API change

CHANGELOG

Upgrade ember-cli 2.12.3 inter-dependencies

👍

Changes Unknown when pulling ec68105ea12d1c34032b57f2d7fb365dc7102433 on notmessenger:ember-cli-2.12.3-inter-dependencies into ** on ciena-frost:master**.


"Unable to find any entry points" with<EMAIL_ADDRESS>

Search terms
"Unable to find any entry points"
"Unable to locate entry point"
Expected Behavior
Should not generate any error and should generate docs
Actual Behavior
Since using<EMAIL_ADDRESS>I'm having trouble to generate typescript documentation with typedoc. Previous version I've used (v.21.9) works fine and without any issues
Here is the typedoc.json file I'm using with typefoc, located at the root folder of my project
{
  "entryPoints": ["src"],
  "out": "docs/Web Server/",
  "readme": "README.md",
  "name": "Web Server Documentation",
  "tsconfig": "./tsconfig.json"
}

The tsconfig.json file is also located at the root of the project..
Calling typedoc with typedoc v0.21.9 works perfectly. But with the last one (v0.22.4), I can see the following

Steps to reproduce the bug

Define and configure properly a typedoc.json file
Define and configure properly a tsconfig.json
Install the latest version of typedoc
Run typedoc for your project

Here my tsconfig.json file:
tsconfig.json
{
    "extends": "./tsconfigprod.json",
    "compileOnSave": true,
    "compilerOptions": {
        "sourceMap": true
    }
}

Here's the tsconfigprod.json file
tsconfigprod.json
{
    "compilerOptions": {
        "noImplicitAny": true,
        "outDir": "./build",
        "target": "es2018",
        "alwaysStrict":true,
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true,
        "noFallthroughCasesInSwitch":true,
        "noUnusedLocals":true,
        "noUnusedParameters":true,
        "pretty": true,
        "skipLibCheck": true,
        "esModuleInterop": true,
        "moduleResolution": "node",
        "module": "commonjs",
        "resolveJsonModule": true,
        "downlevelIteration": true
    },
    "include": [
        "./src/**/*"
    ]
    ,
    "exclude": [
        "./build",
        "node_modules"
    ]
}

In the package.json, I have the following script defined:
"docgen": "typedoc",
I'm running the script using the following command: "yarn docgen"

Environment

Typedoc version: v0.22.4
TypeScript version: 4.4.3
Node.js version: v14.17.3
OS: Windows 10

Changed the default entryPointStrategy from expand to resolve.

From the 0.22.0 release notes

From the 0.22.0 release notes

Oh..Wow...Sorry about that...Completely missed that part...Seems to work again..Thank you for your help

@Gerrit0 It looks like the example given at https://github.com/TypeStrong/typedoc suggests people do typedoc src/index.ts but with this change that will likely fail for most people, and the error does not make it clear what's wrong.
I want to suggest updating the readme to remove "/index.ts"?


Display BNS usernames associated with address

So that users can reference them there in addition to their other FTs and NFTs.

duplicated here https://github.com/hirosystems/explorer/issues/372

We could add another item in the list with the BNS info


Add BSD compatible implementation of get_mount_points

This PR adds an implementation of get_mount_points for BSD systems. Whilst FreeBSD, NetBSD, OpenBSD all have the getmntinfo function, it's only exposed in the libc crate for FreeBSD. This means that while the code would in theory work on NetBSD and OpenBSD it currently fails to build with an error about getmntinfo and MNT_WAIT missing from libc.
On FreeBSD it compiles and the tests pass.
Fixes #40

Thanks a lot for tackling this, it's much appreciated.
It took me some time to properly study the required use of unsafe here and after reading the docs for getmntinfo it appears that the data within the array isn't owned (hence not freed), but instead it's stored in a static global object.
This very much reminded me of the 'local-time offset drama' in the time crate, as I believe in multi-threaded programs this would possibly lead to out of bounds reads if…

a thread A is reading the fs_mounts slice while… (time caused obtaining a pointer to the value of an env-var in libc)
something is dismounted and… (time had another thread change that environment variable, invalidating said pointer)
another thread B calls getmntinfo() again which invalidates the array thread A is traversing (time shows UB by accessing a now invalid pointer in libc, which doesn't use the lock around env vars)

If this is indeed an issue, now I wonder if the way time solves it by bailing out if !num_threads::is_single_threaded() would be appropriate here?

That is a keen observation. I had wondered about this too. I didn't put anything in to handle it as the linux implementation suffers the same problem:

The getmntent() function reads the next line of the filesystem description file from stream and returns a pointer to a structure containing the broken out fields from a line in the file.  The pointer points to a static area of memory which is overwritten by subsequent calls to getmntent().

However, on linux there is getmntent_r.

If this is indeed an issue, now I wonder if the way time solves it by bailing out if !num_threads::is_single_threaded() would be appropriate here?

Anyway I think it probably is an issue for all platforms so yes, some sort of thread restriction probably is a good idea.

Thanks for the additional research on linux.

However, on linux there is getmntent_r.

Even though that would be working I'd have trouble knowing how many struct items to allocate, and how much string-space is going to be needed for that. Simply returning an empty array if there are threads present seems possible, but I don't know how that affects the correctness of the crate.
To me it looks like on FreeBSD, the thread-based protection can be added without changing behaviour as it didn't work there before. And to add such protection on linux, one would either figure out correct usage of getmntent_r or risk breaking existing programs with a 'fix' that alters behavior.
Now that the potential UB is known I guess the correct way of dealing with it is to push a fix, and since it's breaking, make that  major release while yanking all existing releases with linux support.
What do you think?

I added the UB protection to the FreeBSD version merged it to master (after failing to push into this PR), maybe you could have another look to see it's still working.
Also CC @ArturKovacs to see how to deal with the outstanding fix on linux.
Thanks everyone.

I did not realize this issue existed, but yeah this seems relatively serious.
My opinion is that we should use getmntent_r on Linux (seems like it needs to be added to the libc crate). And on BSD, the most sensible thing is probably to log an error! if there are multiple threads and immediately return with an empty array or an Error::Unknown.

Thanks for chiming in.
On FreeBSD, what's the preferred way of dealing with it? Return an error, or log and return an empty array?
And for getmntent_r, would you have the experience to tackle this? I don't feel too comfortable with doing it and believe I add more UB than I remove 😅.

Could a static mutex be used to prevent more than one thread calling the function—the second and subsequent calls would block until the one with the lock finished. Using something like this:
lazy_static! {
    pub static ref LOCK: Mutex<()> = Mutex::new(());
}

It would prevent issues if multiple threads call into the trash crate, but won't help if multiple threads call into the getmnt… functions directly.
When writing this I feel like nitpicking as a mutex probably reduces the likelihood of issues considerably already, especially given how unlikely mountpoints changing at the same time probably is. But I guess to be a good citizen in Rust zero chance of UB is the goaI.
If a small chance of UB is acceptable though, I'd certainly prefer that on FreeBSD than bailing out if there are multiple threads.


Figma Design Specific QR Code View

https://www.figma.com/file/siBclL5wlQfC0V7EJrsWNc/ElastiQR-Mobile-Designs?node-id=1%3A3


Compiler: add locations to all expanded macro arguments

This PR changes compiler to add locations to all expanded macro arguments if possible. It makes helpful error message on macro expansion.
For example the following code makes an error with message undefined constant BadType.
class Foo
  getter foo : BadType
end

However, currently the compiler shows expanded macro code and reports expanded macro line as error location. It is confusing for Crystal beginners I think.
$ crystal run foo.cr
Error in foo.cr:2: expanding macro

  getter foo : BadType
  ^~~~~~

in foo.cr:2: expanding macro

  getter foo : BadType
  ^

in macro 'getter' expanded macro: macro_4384842512:113, line 4:

   1.
   2.
   3.
>  4.             @foo : BadType
   5.
   6.             def foo : BadType
   7.               @foo
   8.             end
   9.
  10.
  11.
  12.

undefined constant BadType

After this PR, the compiler shows such a simple error:
$ bin/crystal foo.cr
Error in foo.cr:2: expanding macro

  getter foo : BadType
  ^~~~~~

in foo.cr:2: undefined constant BadType

  getter foo : BadType
               ^~~~~~~

Great!

Technical Note
I believe this PR is awesome and useful, however, some developers (especially compiler specialist @asterite) think it is unacceptable because emitting location pragmas more makes breaking change and they know it is unuseful in some cases. (ref. #3858)
Don't worry! This PR does not add emitting location pragmas actually. Instead of emitting location pragmas to expanded code, it saves a pair of expanded code position and location pragmas of its position on macro expansion (it is called as invisible_loc_pragmas in source code.), and the lexer processes this data on parsing expanded code. It is cleaner and better than embedding location pragmas.
(However we cannot remove location pragmas from language because it has use-case still, e.g. ECR)

@bew This PR solves #6125 indirectly. What do you think?

Thank you :smile:

For your example, this is great because the failing BadType is both in the original source as well as the expanded macro.
But what if the error was introduced only in the macro, with no direct equivalent in the original code? Let's just use the same code and error for example, but a custom macro for defining it:
macro define_foo
  @foo : Bad type
  def foo : Bad type
    @foo
  end
end

class Foo
  define_foo
end

What error would this produce?

@straight-shoota no Bad type, just BadType?
Error in foo.cr:9: expanding macro

  define_foo
  ^~~~~~~~~~

in foo.cr:9: expanding macro

  define_foo
  ^

in macro 'define_foo' foo.cr:1, line 1:

>  1.   @foo : BadType
   2.   def foo : BadType
   3.     @foo
   4.   end

undefined constant BadType

It is same as current.

@MakeNowJust I read the title of the PR, I knew exactly what was going on, as I've been thinking about doing exactly that (but by naively using loc pragma^^)
I'm glad to see that you took the time and did it :D
I'll read that later

Hey @MakeNowJust ! I think this is a great solution. I found it hard to understand at first, but it makes total sense. I solves very well one of the problems of text macros, basically that you loose the reference to the original node locations. I guess the performance impact is low because pragmas will only be checked in the lexer when lexing a macro expansion.
I'm not sure about the invisible term. Maybe we could call them "macro expansion pragmas" to make it clear that these result from macro expansion.

@MakeNowJust will the example at https://github.com/crystal-lang/crystal/issues/6125#issuecomment-423640385 work with this PR? Or does it need sth else?

@bew No, unfortunately... However I think it is another problem from this PR. The reason what https://github.com/crystal-lang/crystal/issues/6125#issuecomment-423640385 does not work is for re-raising an error with node calling macro location here:
  def eval_macro(node)
    yield
  rescue ex : MacroRaiseException
    node.raise ex.message, exception_type: MacroRaiseException
  rescue ex : Crystal::Exception
    node.raise "expanding macro", ex
  end

I don't know why this is needed. Sorry.

ping. Who is interested in this?


Optimize and profile BTree

Btree is showing linear, not logarithmic complexity. Somehow it is being turned into a plain lopsided list.

Replace btree with hashtable. That is a simpler and less hassle data structure for this application.


Make --report filename a template

Would allow osxphotos export /path/to/export --report "osxphotos_export {today.yy}{today.mm}{today.dd}.csv"
This is more difficult than it sounds as the template render code is part of PhotoInfo class.

Need to add a mock PhotoInfo class that returns None for all it's fields.

Done in v0.49.0


Update Github Repo 2019/05/15

Codecov Report

Merging #29 into master will decrease coverage by 0.28%.
The diff coverage is 88.27%.

@@            Coverage Diff             @@
##           master      #29      +/-   ##
==========================================
- Coverage   86.93%   86.65%   -0.29%
==========================================
  Files          94       96       +2
  Lines        1745     1828      +83
==========================================
+ Hits         1517     1584      +67
- Misses        228      244      +16

Impacted Files
Coverage Δ

audiostream/src/ni/media/iostreams/stream_buffer.h
100% <ø> (ø)
:arrow_up:

audiostream/src/ni/media/audio/ivectorstream.cpp
60% <ø> (ø)
:arrow_up:

audiostream/src/ni/media/iostreams/fetch.h
100% <ø> (ø)
:arrow_up:

pcm/inc/ni/media/pcm/range/converted.h
100% <ø> (ø)
:arrow_up:

audiostream/src/ni/media/audio/aiff/aiff_sink.h
93.75% <ø> (ø)

...m/test/ni/media/audio/ifstream_robustness.test.cpp
88.88% <ø> (ø)
:arrow_up:

...tream/inc/ni/media/audio/aiff/aiff_ifstream_info.h
100% <ø> (ø)
:arrow_up:

pcm/inc/ni/media/pcm/compiletime_format.h
100% <ø> (ø)
:arrow_up:

...tream/inc/ni/media/audio/aiff/aiff_specific_info.h
20% <ø> (ø)
:arrow_up:

audiostream/src/ni/media/audio/ifstream_info.cpp
69.56% <ø> (ø)
:arrow_up:

... and 97 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 f55ad65...38a0a10. Read the comment docs.


Run kuttl tests for all versions

Tests have been split between

k8s 1.21 and lower
k8s 1.22 and higher

Tests are the same for both except for the upgrade test. The original upgrade test is not compatible with k8s 1.22+ as it requires installing the old operator which will not work on k8s 1.22. So instead we install develop and upgrade to latest.
Original upgrade test remains for k8s 1.21 and lower.

Is it possible to run the same test suite for both 1.18+ & 1.22+?
And then have a separate test suite for just testing the upgrade flow, this should reduce the amount of duplicate test cases we have.
If that's not possible (or requires significant setup) I'm happy to approve as is

It should be possible, but will require a bit of work. I'm going to merge this PR as is, becasue it contains a bug fix too. I'll create a tech-debt related ticket to reduce duplicate tests.


webp script

This PR adds cwebp into the devcontainer and adds a script which converts all blog images to webp and updates the markdown that references them.
Running the script took just over 30 minutes to convert about 240 images.

For comparison I've kicked off a non change PR here: https://github.com/johnnyreilly/blog.johnnyreilly.com/pull/152


Minimum python version

Taking inspiration from NEP 29 I would suggest that we require at least Python 3.8 starting in december this year.
What do you think? Would this be an issue for vispy maybe?

I'm open to discuss this. My first thoughts:
Isn't that NEP mostly intended for non-pure Python projects?
I can understand that if a large part of scientific packages adopts these timelines, then downstream knows what to expect. But the timeline is pretty "fast", and we'd be excluding the default Python of many Linux users, while the benefit for us probably minimal.

Well, first of all, we are quite heavily dependent on numpy, right? So there's that.
However, you are right, we don't want to exclude so many users that quickly...

Do we use things from Numpy that would require the latest version? If not, then they could use pygfx with an older (no longer) supported version of numpy. Not everyone needs bleeding edge Numpy right?

Do we use things from Numpy that would require the latest version?

I don't think so. Would be interesting to try how far back we can go.

Could we differentiate between a recommended and a required version? I.e., we require a python version that is alive (3.7 phases out in about 6 months), but we recommend using a python version that is NEP 29 compatible.
This way, users that are stuck on old python versions aren't barred from using pygfx but they also know that they shouldn't expect the same level of support as if they were using an up-to-date version.

Could we differentiate between a recommended and a required version? I.e., we require a python version that is alive (3.7 phases out in about 6 months), but we recommend using a python version that is NEP 29 compatible.

Sounds good to me.
The only argument I can think of for requiring a minimal version is that if GH Actions stops supporting older versions, we can't really test for these, and therefore cannot make promises on it working on these versions.


Use Ursula memcached role instead of installing package on Swift nodes

This is to fix the issue #1231

:+1:

Okay to merge once tests pass.


Allow puppetlabs/stdlib 6.x and puppet 6.x.

Tests appear to be broken.

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?

Errors appear unrelated to PR:
An error occurred while loading ./spec/acceptance/tests/acceptance_spec.rb.
Failure/Error: require 'beaker-rspec'
Docker::Error::UnexpectedResponseError:
  Couldn't find id: {"stream":"Step 1/20 : FROM opensuse:42.3\n"}
  {"errorDetail":{"message":"manifest for opensuse:42.3 not found"},"error":"manifest for opensuse:42.3 not found"}

@jarpy

Thanks for raising this @pillarsdotnet - I opened up #1050 which adds some testing and updates modules to work with 6.x, so once that passes I think we can get 6.x support merge and released.
The snapshot testing phase is pretty broken at this point, that's something I'm still looking into :eyes:


🔨 Refactor - make_folder3d_dataset is too complex (16 > 15)RuffC901

Description
ruff throws the following error for the make_folder3d_dataset function:
`make_folder3d_dataset` is too complex (16 > 15)RuffC901

It would be good to simplify this function to be within the complexity limit.

@samet-akcay, I have made a seperate PR for this issue but it was also dealt in another PR #1825.


initial support of IPEX_LLM_PERFORMANCE_MODE

Description

1. Why the change?

add IPEX_LLM_PERFORMANCE_MODE to default enable lookahead=2
fix lookahead script error in all-in-one

2. User API changes

3. Summary of the change

4. How to test?

[ ] Unit test: Please manually trigger the PR Validation here by inputting the PR number (e.g., 1234). And paste your action link here once it has been successfully finished.

PR validation is WIP: https://github.com/intel-analytics/ipex-llm-workflow/actions/runs/10317563908


"RangeError: Maximum call stack size exceeded" running server

Describe the Bug
We have a large schema with 80 models created by introspecting a SQL Server database.
The generate step works fine, but the server (a copy of the "Prototyping" example's server) exits with "RangeError: Maximum call statck size exceeded."
To Reproduce
Use this repo: https://github.com/cgodkin/typegraphql-prisma-problem
This is essentially https://github.com/MichalLytek/typegraphql-prisma/tree/main/examples/1-prototyping with updated dependencies and our schema.  Then do this:
yarn
yarn generate
yarn start

Expected Behavior
What should happen is a database connection error since you won't have the database configured.  Something like this:
yarn run v1.22.17
$ ts-node --transpile-only ./index.ts
PrismaClientInitializationError: Error creating a database connection. (Error creating a database connection.)
    at d:\users\carl\typegraphql-prisma-problem\node_modules\@prisma\client\runtime\index.js:26873:22 {
  clientVersion: '3.2.1',
  errorCode: undefined
}
Done in 5.75s.

Instead, you will get RangeError: Maximum call stack size exceeded
Logs
yarn run v1.22.17
$ ts-node --transpile-only ./index.ts
d:\users\carl\typegraphql-prisma-problem\node_modules\typescript\lib\typescript.js:41955
        var preDirectoryResolutionCache = createPerDirectoryResolutionCache(currentDirectory, getCanonicalFileName, directoryToModuleNameMap || (directoryToModuleNameMap = createCacheWithRedirects(options)));
                                          ^
RangeError: Maximum call stack size exceeded
    at Object.createModuleResolutionCache (d:\users\carl\typegraphql-prisma-problem\node_modules\typescript\lib\typescript.js:41955:43)
    at Object.createProgram (d:\users\carl\typegraphql-prisma-problem\node_modules\typescript\lib\typescript.js:113808:40)
    at Object.transpileModule (d:\users\carl\typegraphql-prisma-problem\node_modules\typescript\lib\typescript.js:141719:26)
    at d:\users\carl\typegraphql-prisma-problem\node_modules\ts-node\src\index.ts:1204:21
    at Object.compile (d:\users\carl\typegraphql-prisma-problem\node_modules\ts-node\src\index.ts:1243:30)
    at Module.m._compile (d:\users\carl\typegraphql-prisma-problem\node_modules\ts-node\src\index.ts:1370:30)
    at Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Object.require.extensions.<computed> [as .ts] (d:\users\carl\typegraphql-prisma-problem\node_modules\ts-node\src\index.ts:1374:12)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
error Command failed with exit code 1.

Environment (please complete the following information):

OS: [e.g. Windows 10 21H1]
Node: v16.13.2
typegraphql-prisma version [e.g. 0.11.1]: 0.18.4
Prisma version [e.g. 2.18.0]: 3.8.0
TypeScript version (e.g. 4.2.2): 4.4.4

Additional Context
This seems like #212 (closed as a dup, but happened during generate) and #202 (still open).  We have tried various things suggested in the latter but nothing has helped.   Thanks!

The problem comes from ts-node. Maybe you can try to run the server without type-checking on the fly.

Thanks for the quick response, though I don't think I understand what you are asking.
Isn't running ts-node with --transpile-only  not doing type checking?  Just transpiling?
I'm eager to try whatever you suggest but perhaps you could suggest the options or configuration changes that you mean?  Thanks.

Yes, maybe the codebase is too big to check all the types but you can just run in transpile only mode, so it won't break of call stack size or other OOM error.

Hi again.  I am sorry, but I do not understand your recommendation.  I think I am running in transpile-only mode:
    "start": "ts-node --transpile-only ./index.ts",

What change are you suggesting?   Thanks very much.
I also updated my test project to the latest prisma, @prisma/client, and typegraphql-prisma just to check if that helped but I get "Maximum call size exceeded."

I haven't seen that --transpile-only, sorry.
I don't have a solution for such large schemas.

Thanks for the reply.  It's not really that large, is it?  The schema.prisma file has 80 models and it's 1354 lines long.
Someone made a comment here that they have

a prisma model made by introspection for about 122 tables and has 1650 lines

and they got it to work.  I'm happy to try any ideas you or anyone has!  Thanks again.

+1

Is there any progress on this issue? I saw in the comment that an option could be set up to emit all generated files in a single file, wouldn't that be the solution to avoid circular dependencies and thus maximum call stack?


Process profiles in a memory-efficient manner

All (gene perturbation) profiles won't fit in a single table in memory, workflow needs to be designed with that in mind.

Using dask seems to be the solution here.


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter gree-hvac for common errors and appropiate suggestions to keep this adapter up to date.
This check is based the current head revisions (master / main  branch) of the adapter repository
Please see the result of the check below.
ioBroker.gree-hvac
   -
:thumbsup: No errors found
WARNINGS:

[ ] :eyes: [W034] @iobroker/adapter-core 3.2.1 specified. 3.2.2 is recommended. Please consider updating dependencies at package.json

:thumbsup: No suggestions found
Please review issues reported and consider fixing them as soon as appropiate.
Warnings reported by repository checker should be reviewed. While some warnings can be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
You may start a new check or force the creation of a new issue at any time by adding the following comment to this issue:
@iobroker-bot recheck
or
@iobroker-bot recreate
Please note that I (and the server at GitHub) have always plenty of work to do. So it may last up to 30 minutes until you see a reaction. I will drop a comment here as soon as I start processing.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence
Last update at Fri, 01 Nov 2024 03:21:43 GMT based on commit 004a542473ca33b39953653d8ba0811917941bba
ioBroker.repochecker 3.1.4

Changed "@iobroker/adapter-core" version


Proposal discussion: a detail class graph for the sdk

a proposal to define the client implementation classes
discuss proposal in this issue
put the proposal into the MEP page once the proposal is agreed by all collaborators

Do we possibly borrow the interface design from milvus-sdk-java?

Do we possibly borrow the interface design from milvus-sdk-java?

I am also thinking about this question. @ArkaprabhaChakraborty mentioned we can create a similar orm similar to the python sdk. I think the sdk can be designed as two levels:

the orm classes: ConnectionInstance/Collection/Partition/Index/Schema/Parameters, and maybe ConnectionPool
the client implementation: a class to maintain grpc channel, a class to transfer parameters to rpc interface and with some logic like the pymilvus/client/grpc_handler.py

Basically, the client implementation can do all things. Orm classes can be an enhancement for usability.

I'll add some initial orm classes. Their tests and their respective client implementations. I guess that should do. And then I can make further issues which I and @matrixji can divide between ourselves? Also I'll change the MEP. What do you say? My approach might be wrong so please do correct me if so.

@ArkaprabhaChakraborty
Please attach your proposal here, we can discuss together.
Just like the "collection alias" feature: https://github.com/milvus-io/milvus/issues/4812, firstly we have a raw proposal, we discuss it in the issue page, finally we put the final design into the MEP page: https://wiki.lfaidata.foundation/display/MIL/MEP+10+--+Support+Collection+Alias

Class Graph Proposal
So I was proposing the following structure:
------client
         |
         ------- stub
                  |
                  ------- Milvus
         |
         ------- prepare
                  |
                  ------ Prepare
         |
         ------- types
                  |
                  ------  Status
                  |
                  ------- DataType
                  |
                  ------- RangeType
                  |
                  ------- IndexType
         |
         ------- exceptions
                  |
                  -------  ParamError
                  |
                  ------- ConnectError
                  |
                  ------- NotConnectError
                  |
                  ------- RepeatingConnectError,
                  |
                  ------- VersionError,
                  |
                  ------- BaseException

Class Graph Proposal
So I was proposing the following structure:
------client
         |
         ------- stub
                  |
                  ------- Milvus
         |
         ------- prepare
                  |
                  ------ Prepare
         |
         ------- types
                  |
                  ------  Status
                  |
                  ------- DataType
                  |
                  ------- RangeType
                  |
                  ------- IndexType
         |
         ------- exceptions
                  |
                  -------  ParamError
                  |
                  ------- ConnectError
                  |
                  ------- NotConnectError
                  |
                  ------- RepeatingConnectError,
                  |
                  ------- VersionError,
                  |
                  ------- BaseException

IMO, In c++, generally, we release SDK with headers and library, this is a lit bit different with java/python.
I think we could organize our code structure like below(put public header in include, source and internal header in impl ):
include\
+-- MilvusClient.h
+-- exceptions\
    +-- BaseException.h
    +-- ParamError.h
    +-- ...
+-- types\
    +-- Status.h
    +-- ...
impl\
    +-- MilvusClientImpl.h
    +-- MilvusClientImpl.cpp
+-- exceptions\
    +-- BaseException.cpp
    +-- ParamError.cpp
    +-- ...
+-- types\
    +-- Status.cpp
    +-- ...
+-- prepare\
    +-- ...
...

As @matrixji mentioned, we need to provide headers of static link library, all exported headers should be put into the "include" folder. Internal headers and implementation files(cxx/cpp) should be put into "impl" folder. This is a common way to develop a C++ library.
There are some other files generated by gRPC, not sure where to put these files. In my opinion, these files are generated by third-party, no need to put them into the "impl" folder. @ArkaprabhaChakraborty  Is the "stub" folder for these files?
My another suggestion is the "prepare" folder, the pymilvus use this folder for parameters preparation classes. Personally I think the word "prepare" is meaningless(prepare what?). In Java SDK, we use "param" folder for parameters preparation/validation classes, I think the word "param" is more clear.
So, combine your code structures:
---- include
         |---- MilvusClient.h
         |---- param
                    |---- CreateCollectionParam.h
         |---- exceptions
                    |---- BaseException.h
                    |---- ParamError.h
         |---- types
                    |---- Status.h
---- impl
         |---- MilvusClientImpl.h
         |---- MilvusClientImpl.cpp
         |---- param
                    |---- CreateCollectionParam.cpp
         |---- exceptions
                    |---- BaseException.cpp
                    |---- ParamError.cpp
         |---- types
                    |---- Status.cpp
---- stub
         |---- milvus.pb.h
         |---- milvus.pb.cc
         |---- common.pb.h
         |---- common.pb.cc
         |---- schema.pb.h
         |---- schema.pbcc

For example, to declare CreateCollection() interface:
|---- include
|---- MilvusClient.h
|---- param
|---- BaseParam.h
|---- CreateCollectionParam.h
|---- types
|---- FieldSchema.h
|---- CollectionSchema.h
The declarations:
src/include/MilvusClient.h
#pragma once
#include "types/Status.h"

/**
 *  @brief namespace milvus
 */
namespace milvus {

/**
 * @brief milvus client abstract class
 */
class MilvusClient {
 public:
    virtual void
    Dummy() = 0;

    virtual Status CreateCollection(const CreateCollectionParam& param) = 0;
};

}  // namespace milvus

src/include/param/BaseParam.h
#pragma once
#include "types/Status.h"

namespace milvus {

class BaseParam {
 public:
    virtual Status Verify() = 0;
};

}

src/include/param/CreateCollectionParam.h
#pragma once

#include "BaseParam.h"
#include "type/CollectionSchema.h"

namespace milvus {

class CreateCollectionParam : public BaseParam {
 public:
    CreateCollectionParam(CollectionSchema& schema);
    Status Verify();

 private:
    CollectionSchema schema;
};

}

src/include/param/CreateCollectionParam.h
#pragma once

#include <string>
#include <vector>

#include "FieldSchema.h"

namespace milvus {

class CollectionSchema {
 public:

 private:
    /**
     * @brief Name of this collection, cannot be empty
     */
    std::string name;

    /**
     * @brief Description of this collection, can be empty
     */
    std::string description;

    /**
     * @brief Set shards number, the number must be larger than zero, default value is 2.
     */
    int32_t shard_num = 2;
};

}

src/include/types/FieldSchema.h
#pragma once

#include <string>
#include <map>

#include "DataType.h"

namespace milvus {

class FieldSchema {
 public:

 private:
    /**
     * @brief Name of this field, cannot be empty
     */
    std::string name;

    /**
     * @brief Description of this field, can be empty
     */
    std::string description;

    /**
     * @brief Field data tpye
     *
     */
    DataType data_type;

    /**
     * @brief Specify the field to be primary key
     *
     * Each collection only has one primary key.
     * Currently only int64 type field can be primary key .
     */
    bool is_primary_key = false;

    /**
     * @brief Let server automatically generate id for this field
     *
     * If ths flag is true, server will generate id when data is inserted.
     * Else the client must provide id for each entity when insert data.
     *
     */
    bool auto_id = false;

    /**
     * @brief Extra key-value pair setting for this field
     *
     * Currently vector field need to input "dim":"x" to specify dimension.
     *
     */
    std::map<std::string, std::string> type_params;
};

}

As @matrixji mentioned, we need to provide headers of static link library, all exported headers should be put into the "include" folder. Internal headers and implementation files(cxx/cpp) should be put into "impl" folder. This is a common way to develop a C++ library.

Yes agreed. I have worked in different projects which use this structure. And I guess this will be better for us too.

There are some other files generated by gRPC, not sure where to put these files. In my opinion, these files are generated by third-party, no need to put them into the "impl" folder. @ArkaprabhaChakraborty Is the "stub" folder for these files?

Yes the stub should have these files. I mean in the python-sdk, these files are in stub I guess so ..

My another suggestion is the "prepare" folder, the pymilvus use this folder for parameters preparation classes. Personally I think the word "prepare" is meaningless(prepare what?). In Java SDK, we use "param" folder for parameters preparation/validation classes, I think the word "param" is more clear.

Do we need this? If so then we can create a params/param folder.

So, combine your code structures:
---- src
    |---- include
        |---- MilvusClient.h
        |---- param
                  |---- CreateCollectionParam.h
        |---- exceptions
                  |---- BaseException.h
                  |---- ParamError.h
        |---- types
                  |---- Status.h
    |---- impl
        |---- MilvusClientImpl.h
        |---- MilvusClientImpl.cpp
        |---- param
                  |---- CreateCollectionParam.cpp
        |---- exceptions
                  |---- BaseException.cpp
                  |---- ParamError.cpp
        |---- types
                  |---- Status.cpp
    |---- stub
        |---- milvus.pb.h
        |---- milvus.pb.cc
        |---- common.pb.h
        |---- common.pb.cc
        |---- schema.pb.h
        |---- schema.pbcc

Yes I had a sort of design like this in my mind, but I couldn't define it well. Thanks for the help

I just create a pr for first api CreateCollection(), and an example program to use the sdk as a static link library. Just ignore the "param" folder, I think it is belong to ORM.

@matrixji @ArkaprabhaChakraborty
Please take a look the #26, this pr implement the CreateCollection() api. Now you can run the example can create a collection in milvus.
So the first level of client implementation is mainly the two classes: MilvusConnection and MilvusClientImpl, The MilvusConnection maintain a connection between client and milvus server. The MilvusClientImpl convert users parameters into grpc format and pass to MilvusConnection.
After this pr merged, we can start tasks parallelly. We can create a task for each api(some simple api can be merged into one task).
When the first level is done, we all be familiar with the client behavior, then we can consider to design the orm classes and implement the second level functions.

Shall we close this issue? Seems we've implemented all low-level interfaces for MilvusClient
@yhmo @ArkaprabhaChakraborty

I guess so

/close


feat: add return type inference for union distinct operation

Added return type inference for union distinct operation. Added a check to make sure that left and right operand types matched, not sure if this should be done or not.
Please only review latest commit. Other two commits in other PR's (PR 16, PR 17).

There seems to be a bit of back and forth in this PR now; I think some of the previous PR is still included but the commits are in a weird order now. Could you try to rebase again?
To be sure, save your current branch as git checkout -b union_op_ret_type_inference-backup, the git checkout -b union_op_ret_type_inference and try to rebase. If that fails, you can git reset --hard union_op_ret_type_inference-backup to get back to the previous state of your branch before rebasing.

There seems to be a bit of back and forth in this PR now; I think some of the previous PR is still included but the commits are in a weird order now. Could you try to rebase again?
To be sure, save your current branch as git checkout -b union_op_ret_type_inference-backup, the git checkout -b union_op_ret_type_inference and try to rebase. If that fails, you can git reset --hard union_op_ret_type_inference-backup to get back to the previous state of your branch before rebasing.

I tried this and it said "everything up to date".


Is spi host 0 (directed) and spi host 1 (pinmux) have the same circuit/function?

Hi
It seems that spi host0 is not completed yet and maybe due to the limit of FPGA.
Is spi host 1 compete in fucntion/register ?
Please confirm it.
Thanks a lot.

CC: @tjaychen @msfschaffner

spi host 0 and 1 are identical (two instances from a design). Not sure the IP is ready for FPGA but as far as I can tell, the basic functionality works? Martin can comment more.

Hi @nicolast0604,
Could you please elaborate what troubles you are seeing?  We've integrated SPI_HOST many months ago and @cfrantz has been able to use it to query SPI devices on the FPGA.    The latest bugs have only been minor technical gaps the IP and specification.

@nicolast0604 please clarify what issues you are seeing, maybe we missed something on our end.

In the SPI host documentation,
https://docs.opentitan.org/hw/ip/spi_host/doc/
The register address is :
spi_host.INTR_STATE @ 0x0
spi_host.INTR_ENABLE @ 0x4
spi_host.INTR_TEST @ 0x8
spi_host.ALERT_TEST @ 0xc
spi_host.CONTROL @ 0x10
spi_host.STATUS @ 0x14
spi_host.CONFIGOPTS @ 0x18
spi_host.CSID @ 0x1c
spi_host.COMMAND @ 0x20
spi_host.RXDATA @ + 0x24
spi_host.TXDATA @ + 0x28
spi_host.ERROR_ENABLE @ 0x2c
spi_host.ERROR_STATUS @ 0x30
spi_host.EVENT_ENABLE @ 0x34
However, if you check the
hw/ip/spi_host/rtl/spi_host_reg_pkg.sv
You will find the real address is as below, which is not consistent to the above documentation.
// Register offsets
parameter logic [BlockAw-1:0] SPI_HOST_INTR_STATE_OFFSET = 6'h 0;
parameter logic [BlockAw-1:0] SPI_HOST_INTR_ENABLE_OFFSET = 6'h 4;
parameter logic [BlockAw-1:0] SPI_HOST_INTR_TEST_OFFSET = 6'h 8;
parameter logic [BlockAw-1:0] SPI_HOST_ALERT_TEST_OFFSET = 6'h c;
parameter logic [BlockAw-1:0] SPI_HOST_CONTROL_OFFSET = 6'h 10;
parameter logic [BlockAw-1:0] SPI_HOST_STATUS_OFFSET = 6'h 14;
parameter logic [BlockAw-1:0] SPI_HOST_CONFIGOPTS_OFFSET = 6'h 18;
parameter logic [BlockAw-1:0] SPI_HOST_CSID_OFFSET = 6'h 1c;
parameter logic [BlockAw-1:0] SPI_HOST_COMMAND_OFFSET = 6'h 20;
parameter logic [BlockAw-1:0] SPI_HOST_ERROR_ENABLE_OFFSET = 6'h 28;
parameter logic [BlockAw-1:0] SPI_HOST_ERROR_STATUS_OFFSET = 6'h 2c;
parameter logic [BlockAw-1:0] SPI_HOST_EVENT_ENABLE_OFFSET = 6'h 30;

Do you have the example code for spi host to query spi device?

Hi @nicolast0604, as I mentioned in #9398, your RTL table above is out of date.  If you are attempting to program the device in C, I recommend pulling the DIF from #8872, which will at least tools for generating the C-headers.
In answer to your question the two SPI devices should be identical except as you mention for their respective mappings to the pinmux, with SPI_HOST0 on dedicated pins.
Are there any other differences that you've noticed? If not, (I'd like to close this issue and tag it as redundant with #9398)

@eunchan: SPI_HOST0 is functional in the CW310.  @cfrantz has tested it (at least partially) with #8872.


Custom Routes

Hi,
thank you for your nice work.
Is it possible to add a custom route to the navigation like explained in this mapbox documentation page (https://docs.mapbox.com/android/navigation/overview/custom-routes/)?
Kind Regards,
Jonas

This seems pretty easy to implement.

On Oct 11, 2020, at 10:20 AM, HelloJowet<EMAIL_ADDRESS>wrote:

Hi,
thank you for your nice work.
Is it possible to add a custom route to the navigation like explained in this mapbox documentation page (https://docs.mapbox.com/android/navigation/overview/custom-routes/)?
Kind Regards,
Jonas
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thank you for your respond.
I've never programmed natively before. I would be very grateful if you would integrate this functionality into the plugin.
Unfortunately, custom routes cannot be easily integrated for IOS: https://github.com/mapbox/mapbox-navigation-ios/issues/717. If you could find a way to integrate the functionality for IOS too, that would be awesome. But only Android would also be sufficient.

no plans for this at the moment


Add linkable line numbers to files via Prismjs

Ticket: #15
Screenshots
Line numbers
http://localhost:4005/preview/decimal/2.0.0/lib%2Fdecimal%2Ferror.ex:

Linkable
Clicking a line number adds the line number prepended with L. to the url hash, e.g. ...README.md#L.9. Open refresh/revisiting site with the hash, the line number continues to be focused and highlighted.
http://localhost:4005/preview/decimal/2.0.0/README.md#L.9:

Implementation
This was implemented with PrismJs instead of using the existing Makeup library. We may want to stick with Makeup, but here were the challenges and the thought process:

The current implementation calls Makeup.highlight which returns the raw html. In order to add line numbers, I would need to know what code was on each line to then produce html that could display and link each line number. Editing the returned html to determine what represents each line would be quite difficult and error-prone, especially if the html were to change in the future.
I also tried to split the file itself by new lines and then call Makeup.highlight on each line, but this returned unexpected syntax highlighting since a line could be apart of a block of other lines (such as a @doc comment) and Makeup wouldn't know the context of the other lines.
Reading Makeup's documentation, it seems like it could support a way to easily access each line or edit the returned html to include this, but currently I couldn't find a way to do it
Given these challenges, I looked for another solution and found Prism. Prism comes out the box with plugins for line numbers and line highlighting which made it very quick and easy to implement.

Afterthoughts
LiveView presented some hurdles with Prism. These may just have been challenging for me because of my lack of experience with LiveView, or just because it doesn't play nice. These issues include:

Prism js automatically detects the html on the page to hightlight (via css classes) and does the highlighting for you. This would work on initial page load, but after live view pushed updates to the view and loaded, the highlighting would disappear. This required an event listener to be added on when the live view finished loading that would re-highlight the code:window.addEventListener("phx:page-loading-stop", (info) => {
  Prism.highlightAll()
})

I added a phoenix hook to reapply the highlighting when a new file was selected. This would work, then immediately go back to being unhighlighted.{
  updated() {
    Prism.highlightElement(this.el.firstChild)
  },
}

The fix was to schedule the highlighting to happen after the event was complete via setTimeout:{
  updated() {
    setTimeout(() => {
      Prism.highlightElement(this.el.firstChild)
    })
  },
}

It feels like sometimes it takes longer for the syntax highlighting to happen. Not sure if it has to do with the highlighting being called multiple times or something else... Prismjs does support an async option that would run the highlighting in a web worker, but it's disabled by default.
Currently, the line number linking does not support ranges. So you can't click one line and then shift click 5 lines down to select them all. The line highlight plugin does support the ability to highlight multiple lines, it's just that there's some missing functionality with the linking that could be extended with a custom plugin

Sorry if this seems like a lot of info for a seemingly simple line number feature 😅, but I thought I'd document and explain as much as I could.

Hi @cainwatson !
Thank you for your contribution.
After reviewing it, I do have some thoughts:

having line numbers (and making them directly linkable) is a great feature. I definitely want to pursue that.
This is a lot of new code (most of which isn't directly related to the adding line numbers.)
I would prefer to stay with makeup because it is more universal in the BEAM world. (@davydog187 is working on adding js support AFAIK.)

I am happy (excited) to work with you on taking another approach to this. Ultimately, I don't really want to support prismjs in this project.
Again - thank you very much for the work. 🌮 🌯 🎉

Got it, makes sense!
I'll try to look more into makeup to see another way to access each line or a way to extend the html to include line numbers. Let me know if you have ideas or tips to do this!

I'll try to look more into makeup to find another way to access each line or a way to extend the html to include line numbers. Let me know if you have ideas or tips to do this!

@cainwatson I have been looking into this and talked to Jose about this week. If you want to pair on a solution let me know. I'll be working on it tonight and/or tomorrow

@cainwatson I have been looking into this and talked to Jose about this week. If you want to pair on a solution let me know. I'll be working on it tonight and/or tomorrow

@supersimple I would love to pair!

@cainwatson I have been looking into this and talked to Jose about this week. If you want to pair on a solution let me know. I'll be working on it tonight and/or tomorrow

@supersimple I would love to pair!

I sent you an email invite.


.Net Standard 2.0 Dependencies

This issue contains a list of types that have to be revised when .Net Standard 2.0 is published. NETSTANDARD1_6 conditional symbol is used for #if directive.

Microsoft.Common.Core.Threading.BackgroundThreadAwaiter - ThreadPool.UnsafeQueueUserWorkItem doesn't exist
Microsoft.Common.Core.Security.Credentials - NetworkCredential doesn't have a ctor that accepts secure string
Microsoft.Common.Core.ExceptionExtensions - StackOverflowException, ThreadAbortException and AccessViolationException don't exist
Microsoft.Common.Core.Logging.FileLogWriter - AppDomain.CurrentDomain is excluded from .Net Standard build
Microsoft.Common.Core.IO.IUserProfileNamedPipeFactory - NamedPipeServerStream.MaxAllowedServerInstances doesn't exist
Microsoft.Common.Core.TaskUtilities - Thread.IsThreadPoolThread doesn't exist

Microsoft.Languages.Core.Text.CharacterStream - ExcludeFromCodeCoverage is missing.
Microsoft.Languages.Core.Text.TextChangeEventArgs - ExcludeFromCodeCoverage is missing.
Microsoft.Languages.Core.Text.TextRange - ExcludeFromCodeCoverage is missing.

Yeah, I was going to remove these attributes. In fact, I have a branch where it is sort of done.

So I can just remove them as well?

Yes

Folding into #4086


how to know when queue is completly done ?

$queue = new \cURL\RequestsQueue;

	$queue->addListener('complete', function (\cURL\Event $event) {
	// do some stuff like add to array
	});

foreach($buildings as $building){

		$request = new \cURL\Request();
		$request->_myId = $i;
                $postdata="id= $building->id";
		// add options to request
		$opts = new \cURL\Options;
		$opts->set(CURLOPT_URL, 'example,');
		$opts->set(CURLOPT_POSTFIELDS, $postdata);
		$request->setOptions($opts);
		$queue->attach($request);
	}

	$result = $queue->send();

how can i know when the queue is done with everything ?

$queue->send();

is pausing your script until queue is complete.
All code you write after this line will be executed after queue has finished.

True... i set timeout too low thats why it was getting passed :)
With standard curl it was 300 sec
With yours its only 40 sec
(100 connections)


Add broadcast_info function and tests

This PR addresses #93 and adds #94.

Heads up, @matt9790.

Looks great! Thanks.


after train and test student model ,what should we do next to test on actual robots, could you provide some references?

Hello, I have completed the training and testing of the student model about go1  backflip. What should I do next if I want to deploy the student model on a real  go1  or do simulations in Mujoco? Could you  please provide the deployment code related to go1 or  provide some deployment ideas, thanks very much!

@dobro12 hello, Could you provide some suggestions

@dobro12 could you please to have a look this quesiton,thanks very much

I am sorry for the late response.
Still, I am busy with lots of work whose deadlines are this week.
To briefly give my opinion in your case, I suggest copying and pasting the
network codes, algos/common/*.* and algos/student/*.* into your local
device.
In our implementation, we don't save the network's structure but only save
the weight/bias parameters.
Thank you.
Sincerely,
Dohyeong Kim.
On Mon, Nov 11, 2024 at 4:48 PM dbdxnuliba @.***> wrote:

@dobro12 https://github.com/dobro12 could you please to have a look
this quesiton,thanks very much
—
Reply to this email directly, view it on GitHub
https://github.com/rllab-snu/Stage-Wise-CMORL/issues/2#issuecomment-2467450087,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHUQNRAUPQGMHQLHR6LRX3T2ABOMRAVCNFSM6AAAAABQ2CKD3CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRXGQ2TAMBYG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

I am sorry for the late response. Still, I am busy with lots of work whose deadlines are this week. To briefly give my opinion in your case, I suggest copying and pasting the network codes, algos/common/*.* and algos/student/*.* into your local device. In our implementation, we don't save the network's structure but only save the weight/bias parameters. Thank you. Sincerely, Dohyeong Kim.
…
On Mon, Nov 11, 2024 at 4:48 PM dbdxnuliba @.> wrote: @dobro12 https://github.com/dobro12 could you please to have a look this quesiton,thanks very much — Reply to this email directly, view it on GitHub <#2 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHUQNRAUPQGMHQLHR6LRX3T2ABOMRAVCNFSM6AAAAABQ2CKD3CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRXGQ2TAMBYG4 . You are receiving this because you were mentioned.Message ID: @.>

Ok,thank you for your response.
When you have time, could you please send me an example  deployment code how to export weight/bias parameters and use them to the deployment project

I am sorry for the late response. Still, I am busy with lots of work whose deadlines are this week. To briefly give my opinion in your case, I suggest copying and pasting the network codes, algos/common/*.* and algos/student/*.* into your local device. In our implementation, we don't save the network's structure but only save the weight/bias parameters. Thank you. Sincerely, Dohyeong Kim.
…
On Mon, Nov 11, 2024 at 4:48 PM dbdxnuliba @.> wrote: @dobro12 https://github.com/dobro12 could you please to have a look this quesiton,thanks very much — Reply to this email directly, view it on GitHub <#2 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHUQNRAUPQGMHQLHR6LRX3T2ABOMRAVCNFSM6AAAAABQ2CKD3CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRXGQ2TAMBYG4 . You are receiving this because you were mentioned.Message ID: @.>

I am sorry, but we do not have a plan to open our deployment code!🥲
Our suggestion is that you can refer to the "test" mode of the "main.py" and just replace the environment code with a Mujoco simulation or real-world robots.

ok,I will have a try,thanks


Form input type=number with class="form-control" behaves erratically while selecting (in chrome)

Description:
When you try to select / move the keyboard caret using the mouse inside an input having type=number and class form-control it does not select the text properly. (Only in Chrome).
It seems to work fine when the input does not have the form-control class, it also works fine in other browsers such as Firefox.
Minimal case:
https://codepen.io/verdegang/pen/ExxyKRK
Steps to reproduce:
Just try to select a subpart of the number inside the input, or to change the caret position using the mouse. You'll notice that it behaves erratically.
Environment:
Device: MSI laptop using .
OS: Ubuntu 18.04.3 LTS (The same happens using a macOS with el Capitan).
Browser: Chrome
Version: 77.0.3865.90
Bootstrap version: v4.3.1

Input type search also has similar issues with trying to position the insertion point at the beginning of the input using the mouse.

true @tmorehouse  becouse i tested and found a similar issue

Is this still an issue, can't seem to reproduce this in 78.0.3904.108?

Seems to be fixed, closing this


Aggregate

Description of the issue
Aggregate dimension sanity test is an alpha requirement. Needed to be done asap.
Description of changes
Added a test for aggregate dimension.
License
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Tests
Created one new e2e test and verified it passes.
(Last line says fail but that's just because I made the suite to mark fail no matter what after all the tests run. This is for easy/quick rerun)

Addressed comments


Add Assignment Modulus  Token at translator frontend

Implement the ASSIGN_MOD token to recognize the %= operator for performing modulus assignments.

@Proxihox will be working on this issue


PA: Update legislator links

The existing links for PA legislators went to the generic page for all House/Senate members, and not the specific page for each member. Each member's link will now be for their specific page and not the generic page.

Pull Request Test Coverage Report for Build 1017

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

Totals

Change from base Build 1016:
0.0%

Covered Lines:
996

Relevant Lines:
1700

💛  - Coveralls


Add consistency in footer of all pages

Problem
The footer section of almost all pages are different although they contain same details but they seem very inconsistent and odd.
It is making the user experience bad because consistency helps in retaining the attention of user.
Even in the about us page the footer section has completely different colour then the other section.
Solution
I will make all the footer sections of all pages consistent and enhance them to look more catchy and better.
Home Page Footer :

About Us Footer :

Collection Page Footer :

Services Page Footer :

Contact Us Footer :

Record

[x] I agree to follow this project's Code of Conduct
[x] I'm a GSSoC contributor
[x] I'm a Hacktoberfest contributor
[x] I want to work on this issue
[x] I'm willing to provide further clarification or assistance if needed.

please assign this issue to me...

Please assign this issue to me


docs(atomic): missing annotation for atomic documentation

https://coveord.atlassian.net/browse/DOC-9892

Hey @dlutzCoveo , it is important to pay special attention to the way you format the pull request title. This is used to control version bumps, as well as generating changelogs.
You can see how all other PR follow a similar format.
Thanks !

Hey @dlutzCoveo , it is important to pay special attention to the way you format the pull request title. This is used to control version bumps, as well as generating changelogs.
You can see how all other PR follow a similar format.
Thanks !

Oh shoot, sorry! I do usually format that, I just missed it this round. Noted. Thanks for correcting it.


Unable to detect authenticator

I am getting "Unable to detect authenticator" though i have the chrome extension installed

Hi @BhaskaranR could you post any errors in the console you are receiving and any other information on your current development setup to help us further debug your issue?

not an issue


PARQUET-1569: [C++] Consolidate shared unit testing header files

This makes the codebase slightly structurally simpler. Note there is still some code duplication around random number generation that would be good to simplify in the future

Merging. The Appveyor CI failure here is spurious, seems there is some crankiness there today -- the build on my fork got to MinGW but then failed due to a connection failure to GitHub https://ci.appveyor.com/project/wesm/arrow/builds/24337857


Load TSVs (not just CSVs)

Right now, pixiedust doesn't recognize tabs.

via @vabarbosa

Both pandas.read_csv and CSVFileFormat for spark (accepts a delimiter option):
just need to update the code accordingly and allow user to pass preferred delimiter

https://github.com/pixiedust/pixiedust/blob/a81d3decde3aa1f13b681337dbde317ba638aed1/pixiedust/utils/sampleData.py#L147
https://github.com/pixiedust/pixiedust/blob/a81d3decde3aa1f13b681337dbde317ba638aed1/pixiedust/utils/sampleData.py#L135


cci project init should allow a blank package namespace

A default blank namespace should be included in the init args - for project setup when namespace not reserved or needed.

It currently does not ask for a namespace if user indicates that it's not a managed package project.


Remove superfluous CODEOWNERS

Closes #1445
Code Changes

[x] Remove automations and experience teams from CODEOWNERS
[x] Specify that the docs-authors team owns the docs/ directory only at the repo root

Pre-Merge Checklist

[x] All CI Pipelines Succeeded
[x] Issue Requirements are Met
[x] Update CHANGELOG.md

Thanks @PSalant726 —

some people might still assume their PRs are getting auto-assigned

I don't think there's any consistent expectation here on the team, so some messaging would go a long way. I don't mind if that's retro-based or an update to #engineering on Slack for instance.

as it affects the whole engineering org, I think merging this and then writing an update in #engineering would be the play so we let people know they need to take charge of finding people to review their PRs


fix: Use proper extension for CommonJS

Which issue does this PR address?
Closes #23

Great stuff, thank you!


allow to specify where to write build.ts

would be nice to be able to allow to specify where to write build.ts :)

That's a good idea! I will take a look at it soon. :)

Up Vote 👍

definitely would appreciate this too, I want to use it with https://nx.dev/

I would go ahead and open a pull request to implement this feature, but I cannot seem to set up a locally running version of  a git clone. I can run the build script but... then what? I have zero experience with making npm packages.


[FEAT] Reflect unhealthy providers in application status

The Provider spreadscaler + daemonscalers currently handle provider_start_failed events to update application status based on application level events. We should extend this handling to also include health_check_failed events and health_check_succeeded in order to reflect when an application is unhealthy.
We could start this feature using the existing Failed status to reflect the issue, but we may want to add an Unhealthy status to indicate that the application was scheduled/deployed but with problems.
See https://wasmcloud.com/docs/reference/cloud-event-list#health_check_passed for the event specifications.

Hey, I would like to have a go at this issue.


Support JSR 354

As @chrisphe was also in the JSR 354 EG, this JSR now Final at 1.0 seems like a good time to consider support for it here. Unlike Date/Time where nearly a dozen alternatives are offered (JodaTime, java.time, ThreeTenBP plus several others from the JDK;-) JodaMoney just is not accepted by the community. I see DateTime usage in projects by financial service providers usually backed by JodaTime, but they prefer BigDecimal and see no use in JodaMoney. Having an official Java standard now this could likely change for JSR 354, so supporting it sounds appealing to Jadira.

Its definitely going to be updated, there is an integration in there but needs to be revisited as it was done quite some time ago
See
https://github.com/JadiraOrg/jadira/tree/master/usertype.extended/src/main/java/org/jadira/usertype/moneyandcurrency/moneta

Maybe @otaviojava could help with that? He suggested "JEE essentials" for Moneta/JavaMoney, but where there's other frameworks already used by the community (we heard, Spring even considers using it in upcoming releases;-) it sounds better to do it there.

Messed up some imports during refactoring

I think extended now will work with both Moneta and Moneta BP due to the use of retroweaver, otherwise we have a more complex problem. I'm closing the issue but would welcome any testing / validation by others ahead of making the next Jadira release.

Yes, the Java EE would just the first step.
The main idea is has a project to integration, maybe call its of midas, and this project has sub-modules, and each sub-modules integration with a framework, such CDI, Spring, Juice, etc.

We could create one or the other JavaMoney sub-project, but e.g. Jadira seems accepted by commercial projects, just saw (only the JodaTime aspect, nobody uses SE 8 here yet ;-) it used in the "BOM" of a current client's project. So I would leave those to projects like Jadira, Spring* or similar that wish to support it. If there's anything missing, we may think about JavaMoney projects. Ideally these should start in the Shelter, you are free to create a sub-module (both of you since you were 354 EG members) there at any time.


What is the correct way to build the package?

Using yarn build results in the following:
tsc -p tsconfig.build.json
src/connection/Connection.ts(55,9): error TS2339: Property 'DEVICE' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/device/create.ts(12,45): error TS2339: Property 'DEVICE' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/constants.ts(19,43): error TS2339: Property 'TEAM' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/constants.ts(19,63): error TS2339: Property 'TEAM' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/constants.ts(20,44): error TS2339: Property 'ROLE' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/constants.ts(22,17): error TS2339: Property 'EPHEMERAL' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/constants.ts(23,17): error TS2339: Property 'EPHEMERAL' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/decryptTeamGraph.ts(56,27): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'Record<Hash, EncryptedLink>'.
  No index signature with a parameter of type 'string' was found on type 'Record<Hash, EncryptedLink>'.
src/team/decryptTeamGraph.ts(58,7): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'Record<Hash, Link<TeamAction, TeamContext>>'.
  No index signature with a parameter of type 'string' was found on type 'Record<Hash, Link<TeamAction, TeamContext>>'.
src/team/decryptTeamGraph.ts(75,22): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'LinkMap'.
  No index signature with a parameter of type 'string' was found on type 'LinkMap'.
src/team/decryptTeamGraph.ts(78,24): error TS7006: Parameter 'hash' implicitly has an 'any' type.
src/team/serialize.ts(62,27): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'Record<Hash, EncryptedLink>'.
  No index signature with a parameter of type 'string' was found on type 'Record<Hash, EncryptedLink>'.
src/team/serialize.ts(78,22): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'LinkMap'.
  No index signature with a parameter of type 'string' was found on type 'LinkMap'.
src/team/serialize.ts(81,24): error TS7006: Parameter 'hash' implicitly has an 'any' type.
src/team/Team.ts(188,43): error TS2339: Property 'DEVICE' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/Team.ts(199,39): error TS2339: Property 'DEVICE' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/Team.ts(323,51): error TS2339: Property 'ROLE' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/Team.ts(365,55): error TS2339: Property 'ROLE' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/Team.ts(393,55): error TS2339: Property 'DEVICE' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/Team.ts(650,46): error TS2339: Property 'ROLE' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/Team.ts(706,31): error TS2339: Property 'ROLE' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/Team.ts(718,53): error TS2339: Property 'DEVICE' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/transforms/removeMemberRole.ts(25,45): error TS2339: Property 'ROLE' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
src/team/transforms/removeRole.ts(14,54): error TS2339: Property 'ROLE' does not exist on type '{ readonly GRAPH: "GRAPH"; readonly USER: "USER"; }'.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Hi, Chris! Sorry to leave you hanging for so long. Can you try the latest version and confirm that you're able to build?


Added jvm and config custom variables

Closes/fixes/resolves issue(s)?
Closes #120
What was added/changed/fixed?
Added list variables to add custom configs
Related issue(s)? [Optional]
Others [Optional]
Checklist (after created PR)

[x] Added reviewers
[x] Added assignee(s)
[ ] Added label(s)
[ ] Added to project
[ ] Added to milestone

Error in pipeline, does not seem to be related to my changes.
Created issue here https://github.com/Skatteetaten/terraform-nomad-trino/issues/124

@claesgill Is this something we can expect that you guys will take a look at, or should we just carry on with our own tag/rc for now? :)

@pdmthorsrud sorry for the late response, but we are currently understaffed and we're not able to prioritize this issue atm. Is it possible for you or any in your team time to look into #124?

LGTM

Please update CHANGELOG.md and add links to Trino documentation and it is good to go.
Bonus addition: example on how to extend. Currently, this requires knowledge on how to craft config files.

Crap, I totally forgot about this MR too... Totally my bad. I have added links to doc. When you say "how to extend", are you talking about how to add even more files to Trino's configuration if you'd like to contribute?


First pass at dropping vip

migration needed to drop vip, I apparently can't remember how to write migrations in ruby

#3712
Thanks for contributing to cloud_controller_ng. To speed up the process of reviewing your pull request please provide us with:

A short explanation of the proposed change:

An explanation of the use cases your change solves

Links to any other associated PRs

[x] I have reviewed the contributing guide

[x] I have viewed, signed, and submitted the Contributor License Agreement

[x] I have made this pull request to the main branch

[ ] I have run all the unit tests using bundle exec rake

[ ] I have run CF Acceptance Tests

@moleske regarding the database migration you mentioned. I think you may need to leave the vip_offset column on the routes for some time. Otherwise it might cause route creation issues during upgrades.
Maybe add a timebomb test to remind us to remove it in the distant future? Example:
https://github.com/cloudfoundry/cloud_controller_ng/commit/7c322ce1d7e9e977049420e450af79056ed02697

I might skip the time bomb test cause it is unlikely I'll do something when it goes off.  Though if others would like it I'll add it.  Now that I see https://github.com/cloudfoundry/capi-ci/pull/52 I'll try to actually run cats against (assuming I can actually get an environment)

I tried to claim a bosh lite but it seems to think there are none available.  I left a message in the capi slack channel asking if I was just doing it wrong.  I was able to create a bosh release with https://github.com/cloudfoundry/capi-release/pull/419 but wasn't able to test if it deployed successfully due to the inability to claim a bosh lite.  If someone else is able to give a whirl and run cats that would be helpful, or let me know how to correctly claim a bosh lite

putting back in draft as I got a bosh lite and cats is failing.  wonder if it is cf networking needing this or something else going on

I'm reopening this for review.  I'm having trouble with the bosh lite environment though, as even an unmodified capi version is causing me multiple bosh lite test failures (86!) with cf acceptance test version 16.4.0
maybe @Gerg has some suggestions on what I'm doing wrong with bosh lites, but will save that sort of conversation for slack.  Would be thrilled to have others review this though.  Will keep playing with bosh lite and see if I'm just doing something terrible in my windows subsystem for linux environment

Got this working on a bosh lite!  cf acceptance test 16.4.0 is passing with the config generated.  bosh lite is regent in the capi pool for those curious.  Could use some reviews from folks next time you're passing through


ppl: update annealing to support pin constraints

Is this handling mirroring or only grouping?

For this PR, only region constraints for lone pins and groups. Mirroring is my next (and probably last) step to have a complete version of PPL with Simulated Annealing.


fix: avoid race condition with simpleSyncMock

Before
go test -timeout 30s -run ^TestGroupConsumer_SimpleSync -race
==================
WARNING: DATA RACE
Write at 0x00c000109158 by goroutine 10:
  github.com/dranikpg/gtrs.(*simpleSyncMock).XAck()

After
go test -timeout 30s -run ^TestGroupConsumer_SimpleSync -race
PASS
ok      github.com/dranikpg/gtrs        0.031s

Thanks a lot for the fix 🔥


config > recycle page > product image issue [🐛]

:bug: Bug report
Description
In the config file if you set url as recycle page images, it won't render correctly

A clear and concise description of the problem...
Is this a regression?

Not sure
:microscope: Minimal Reproduction

set the config file like below
  recyclePage:
    topProductImage: 'https://securityaccount59.blob.core.windows.net/images/did-you-know.png'
    bottomProductImage: 'https://securityaccount59.blob.core.windows.net/images/recycle.jpg'

run the juice shop
navigate to recycle page
:fire: Exception or Error
the image has source is
src="assets/public/images/products/https://securityaccount59.blob.core.windows.net/images/did-you-know.png"

:deciduous_tree: Your Environment

Additional Information

This is intentional as two of the product images are supposed to be displayed on that page:

see https://bkimminich.gitbooks.io/pwning-owasp-juice-shop/content/part1/customization.html

Thanks for answer,
so if I customized all of my products and images still it should show that specific images? if it's configurable and hosting via docker how can I replace the images when images are coming from an http link?

It downloads the product images if you put in a link. So you can then use the file name for the recycling page and it will reuse the downloaded image.

so in my case I only have to set it to did-you-know.png?


test: harden key/value test

Path /foo might be writable so the flush actually works therefore the
test fails. Replacing it with a path that's more likely to fail upon an
attempt to write works better.
Signed-off-by: Jonh Wendell<EMAIL_ADDRESS>

@alyssawilk over to you


fix(node): should not ignore ssr.external in build mode

Description

fixes #11048
Additional context

What is the purpose of this pull request?

[x] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Ideally, include relevant tests that fail without this PR but pass with it.

This PR would need to be updated if https://github.com/vitejs/vite/pull/10939 is merged

This PR would need to be updated if #10939 is merged

Seems like #10939 didn't solve the build mode ignoring ssr.external problem. @bluwy cc?


Updating dependency version to 1.1.1

The version needs to be updated for the instructions in the README to work.

Merged, thanks!


This project is very cool, will you discuss the architecture of the application?

Hi, just check out this project, amazing! I am learning WebGL, will you consider to write a blog post about the technical details and architecture of this application?
Thanks!

The stack is  briefly explained here: https://webglstudio.org/doc/
each component has its own repo with its own documentation.
Hope this helps.
ps. I think we can close this issue


Upgrade dependencies

Related to #6424

:+1: how the heck did I miss this?!

@Ocramius give yourself some credit, it was failing due to builds on trusty 😉

This is so great!  :clap:
I've added a note to GoPHP71.org: https://github.com/TomasVotruba/gophp71.org/commit/40c61f9a235e4c8863cab1cdba47f67c372eef44

@TomasVotruba we're working hard to finalise everything and release it, no idea on when though.


Choropleth Maps

Is it possible to create Choropleth maps (similar to the one shown below)?
I know it can be done in Leaflet but I'm not sure whether this feature is available in your adaptation of it.

Probably not right now, I haven't seen an example of this yet.

any progress in this topic ? :)


Cannot set custom Github API URL on remote source create

What would you like to be added: Customized Github API URL
Currently it only supports github.com as remote source. Is it possible to set the API URL like gitea ?
docker run --rm sorintlab/agola --token "xxxxx" --gateway-url http://xxxxx:8000 remotesource create \
--name github \
--type github \
--api-url https://{Customized GitHub API URL}/ \
--auth-type oauth2 \
...

Why is this needed: Private LAN has its own GitHub server.

created PR #205

Thanks for the work around. I guess it's still not getting the right value on some functions. here is the log I got. At the beginning, it redirect to private github successfully but later it shows this error. Seems like the variables are still not updated when accessing the Github API.
agola-ci-components_1  | 2020-02-10T08:54:50.751Z       ERROR   api/oauth2.go:44        err: failed to retrieve remote user info for remote source "[[[REMOVED_FOR_PRIVACY]]]":
agola-ci-components_1  |     agola.io/agola/internal/services/gateway/action.(*ActionHandler).LoginUser
agola-ci-components_1  |         /agola/internal/services/gateway/action/user.go:393
agola-ci-components_1  |   - Get https://api.github.com/user: dial tcp <IP_ADDRESS>:443: i/o timeout

@MedicineYeh Thanks, also the github remote source needs to be fixed. Can you please try building agola after applying PR #206?

@sgotti I've tried the patches of #205 and #206. My guess is that #205 is not the call path because it doesn't print anything when I add log as followed.
 87    // for github remote source type, set defaults for github.com
 88    if remoteSourceCreateOpts.rsType == "github" {
 89         if !flags.Changed("api-url") {
 90          remoteSourceCreateOpts.apiURL = github.GitHubAPIURL
 91       }
 92       if remoteSourceCreateOpts.apiURL == github.GitHubAPIURL && !flags.Changed("ssh-host-key") {
 93          remoteSourceCreateOpts.sshHostKey = github.GitHubSSHHostKey
 94       }
 95    }
 96 +   log.Infof(remoteSourceCreateOpts.apiURL)

The web page redirect me to this URL after clicking Register with ... button.
https://github.com/login/oauth/authorize?client_id=xxxxxxxxxxxxxxxxx&redirect_uri=http%3A%2F%2Fxxxxxxxxxxxxxxxxx%3A8000%2Foauth2%2Fcallback&response_type=code&scope=repo&state=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1ODEzNzE1MjQsInJlbW90ZV9zb3VyY2VfbmFtZSI6ImdpdGh1YjUiLCJyZXF1ZXN0Ijoie1wiUmVtb3RlU291cmNlTmFtZVwiOlwiZ2l0aHViNVwiLFwiVXNlckFjY2Vzc1Rva2VuXCI6XCJcIixcIk9hdXRoMkFjY2Vzc1Rva2VuXCI6XCJcIixcIk9hdXRoMlJlZnJlc2hUb2tlblwiOlwiXCIsXCJPYXV0aDJBY2Nlc3NUb2tlbkV4cGlyZXNBdFwiOlwiMDAwMS0wMS0wMVQwMDowMDowMFpcIn0iLCJyZXF1ZXN0X3R5cGUiOiJhdXRob3JpemUifQ.V2K4EjOW5czf5Pa1epVFx-1cMs7wleFTI3AieRxTvr8
P.S. This can be fixed by running a remotesource update command.

Thanks for your quick supports.
Also, there is another topic that might need some efforts and worth another issue tracking.
I found that our private GitHub server does not enable api.github... URL. I've tried DroneCI on it. I don't know what API calls it relies on but it works without any issue. Maybe it's worth an feature update to remove the requirements for such api URL since some so called private GitHub might disable that interface.

@MedicineYeh Sorry but I can't understand from your previous posts if it's working or not. We don't have a private github to test so we are relying on your reports. #205 is only for the remotesource create while #206 is for fixing the issue you reported here https://github.com/agola-io/agola/issues/204#issuecomment-584020491

I found that our private GitHub server does not enable api.github... URL.

You should provide the "api url" of your local github instance that should be that same as the web url (the different api and web urls api.github.com vs github.com are only a public github thing).

Sorry for the confusion.
I'd patched two fixes manually. I guess that the #205 did not fix the bug. I still need to run a remotesource update command to make it work.
As for the "api url", it's a blocker for my environment because our private GitHub server disables that function.

I've updated #206 with more fixes, please try it.

As for the "api url", it's a blocker for my environment because our private GitHub server disables that function.

I think you're not understanding what is the api url, in your case you should provide the url you use to access via web (the same you are using with drone, i.e. https://yourlocalgithub.yourdomain.com). it's not possible they are disabled or also drone won't work.

I've tested the updated commits. It's still not redirecting to the specified URL.
I found it was this line setting the values internal/services/gateway/action/remotesource.go:102 and the #205 is not in the actual call path.
As for the update of #206, I've commented directly on the PR.
The latest error after fixing the #206 PR and #205 by myself is as follow.
2020-02-11T07:52:08.249Z       ERROR   api/oauth2.go:44        err: cannot get oauth2 token:
     agola.io/agola/internal/gitsources/github.(*Client).RequestOauth2Token
         /agola/internal/gitsources/github/github.go:181
   - oauth2: server response missing access_token

@MedicineYeh Please try again with the updated #206.

and the #205 is not in the actual call path.

I don't understand what you mean by actual call path. #205 fixes the agola remotesource create command to correctly set the provided api url. So it's not part of the server side.

@MedicineYeh I've setup a trial github enterprise server and managed to make everything to work fixing the last issue you had in https://github.com/agola-io/agola/issues/204#issuecomment-584516356 with #207.
Tested a full workflow by creating a repo, pushing to it etc... and everything works.
Thanks for your report. Closing as fixed by #205 #206 #207.