Add a grafana dashboard

Big thanks for this prometheus exporter. Are you willing to share a grafana dashboard for these metrics?

Hey, I just added what we are using to the dashboards folder, check it out. We only started using grafana recently, and as you can see, my dashboard building skills could be improved. If you make it better looking, feel free to issue a pull request.

Thank you! We also created a Grafana dashboard in the meantime, i will have a look at your solution and see if we can contribute to this repo.

Sounds great, pull requests are welcome. Happy to include your dashboard as well, we can also combine forces. Sorry for the late responses, I pay more attention to the issues of this project. I am super happy that it was useful to someone else as well.


Training my own classifier，after 80 epoch ，the validation is 0.85

Hello David
I have created my  own CASIA datasets which are aligned 160*160, just trying to train my own model using this datasets and  after 80 epoches , the accuracy and valication is below
76000	0.97950	0.86900
77000	0.98050	0.88367
78000	0.98083	0.89867
79000	0.97917	0.85600
80000	0.97983	0.89333
and  my training arguments are
python src/facenet_train_classifier.py --logs_base_dir ./logs/facenet/ --models_base_dir ./models/facenet/ --data_dir /root/data/CASIA-maxpy-align160/  --image_size 160 --model_def models.inception_resnet_v1 --lfw_dir ./datasets/lfw/lfw_mtcnnpy_160 --optimizer RMSPROP --learning_rate -1 --max_nrof_epochs 80 --keep_probability 0.8 --random_crop --random_flip --learning_rate_schedule_file data/learning_rate_schedule_classifier_casia.txt --weight_decay 5e-5 --center_loss_factor 1e-4 --center_loss_alfa 0.9 --gpu_memory_fraction 0.9
I think after 80 epoch the validation should be 0.98~0.99 , Is there something wrong with my operetion.
Thank you

Hi,
It looks like you are doing the training correctly. Also, the performance difference is very minor. Which dataset did you use?
The pretrained model I supplied has been trained on a cleaned version of CASIA WebFace. Maybe that is the difference.

yes， I don't clean the CASIA datasets.   I am not sure whether the CASIA datasets is cleaned.
how to clean the CASIA datasets or  where can I down the cleaned CASIA datasets?
thank you !

Did you check the thread I liked to? There you can find links to the cleaned dataset.

yes， I am  downing the cleaned datasets

Closing this for now. Reopen if needed.


Just one email/username and a password list?

Could you make an option so the user can input one username or email and just a ton of passwords? <3

I think that's a bad idea as it is bruting a service on a site which is illegal so I'd say that wouldn't be a thing I'd ask to see and not to mention probably abuses 100's of sites TOS in the sense of how many connections it would cause if a person like a skid were to try to run rockyou on a site on a single account and 5 thousands others happen to be testing an account could get ugly.  Just my input the author may feel differently


fails to print multi-device arrays

it's not 100% clear what the right behavior here is, but i'm confident the current behavior isn't it
File ~/.cache/pypoetry/virtualenvs/k-diffusion-jax-SXSjnun_-py3.8/lib/python3.8/site-packages/IPython/core/formatters.py:706, in PlainTextFormatter.__call__(self, obj)
    699 stream = StringIO()
    700 printer = pretty.RepresentationPrinter(stream, self.verbose,
    701     self.max_width, self.newline,
    702     max_seq_length=self.max_seq_length,
    703     singleton_pprinters=self.singleton_printers,
    704     type_pprinters=self.type_printers,
    705     deferred_pprinters=self.deferred_printers)
--> 706 printer.pretty(obj)
    707 printer.flush()
    708 return stream.getvalue()

File ~/.cache/pypoetry/virtualenvs/k-diffusion-jax-SXSjnun_-py3.8/lib/python3.8/site-packages/IPython/lib/pretty.py:393, in RepresentationPrinter.pretty(self, obj)
    390 for cls in _get_mro(obj_class):
    391     if cls in self.type_pprinters:
    392         # printer registered in self.type_pprinters
--> 393         return self.type_pprinters[cls](obj, self, cycle)
    394     else:
    395         # deferred printer
    396         printer = self._in_deferred_types(cls)

File ~/.cache/pypoetry/virtualenvs/k-diffusion-jax-SXSjnun_-py3.8/lib/python3.8/site-packages/IPython/lib/pretty.py:640, in _seq_pprinter_factory.<locals>.inner(obj, p, cycle)
    638         p.text(',')
    639         p.breakable()
--> 640     p.pretty(x)
    641 if len(obj) == 1 and isinstance(obj, tuple):
    642     # Special case for 1-item tuples.
    643     p.text(',')

File ~/.cache/pypoetry/virtualenvs/k-diffusion-jax-SXSjnun_-py3.8/lib/python3.8/site-packages/IPython/lib/pretty.py:410, in RepresentationPrinter.pretty(self, obj)
    407                         return meth(obj, self, cycle)
    408                 if cls is not object \
    409                         and callable(cls.__dict__.get('__repr__')):
--> 410                     return _repr_pprint(obj, self, cycle)
    412     return _default_pprint(obj, self, cycle)
    413 finally:

File ~/.cache/pypoetry/virtualenvs/k-diffusion-jax-SXSjnun_-py3.8/lib/python3.8/site-packages/IPython/lib/pretty.py:778, in _repr_pprint(obj, p, cycle)
    776 """A pprint that just redirects to the normal repr function."""
    777 # Find newlines and replace them with p.break_()
--> 778 output = repr(obj)
    779 lines = output.splitlines()
    780 with p.group():

File ~/.cache/pypoetry/virtualenvs/k-diffusion-jax-SXSjnun_-py3.8/lib/python3.8/site-packages/lovely_jax/patch.py:29, in _monkey_patch.<locals>.__repr__(self)
     27 @patch_to(cls)
     28 def __repr__(self: jax.Array):
---> 29     return str(StrProxy(self))

File ~/.cache/pypoetry/virtualenvs/k-diffusion-jax-SXSjnun_-py3.8/lib/python3.8/site-packages/lovely_jax/repr_str.py:175, in StrProxy.__repr__(self)
    174 def __repr__(self):
--> 175     return to_str(self.x, plain=self.plain, verbose=self.verbose,
    176                   depth=self.depth, lvl=self.lvl, color=self.color)

File ~/.cache/pypoetry/virtualenvs/k-diffusion-jax-SXSjnun_-py3.8/lib/python3.8/site-packages/lovely_jax/repr_str.py:107, in to_str(x, plain, verbose, depth, lvl, color)
    103 shape = str(list(x.shape)) if x.ndim else None
    104 type_str = sparse_join([tname, shape], sep="")
--> 107 dev = f"{x.device().platform}:{x.device().id}"
    108 dtype = short_dtype(x)
    109 # grad_fn = t.grad_fn.name() if t.grad_fn else None
    110 # PyTorch does not want you to know, but all `grad_fn``
    111 # tensors actuall have `requires_grad=True`` too.
    112 # grad = "grad" if t.requires_grad else None

File ~/.cache/pypoetry/virtualenvs/k-diffusion-jax-SXSjnun_-py3.8/lib/python3.8/site-packages/jax/_src/array.py:370, in ArrayImpl.device(self)
    368   single_device, = device_set
    369   return single_device
--> 370 raise ValueError('Length of devices is greater than 1. '
    371                  'Please use `.devices()`.')

ValueError: Length of devices is greater than 1. Please use `.devices()`.

Thank you for the report.
I'm working on sharded arrays at the moment, will give you an update soon.

@GallagherCommaJack , sorry it took so long. Could you please confirm that the current git
pip install git+https://github.com/xl0/lovely-jax
works for you?
I'm not 100% sure what's the best way to display the array layout, so for now it just lists the devices.
Do you have any ideas on what would be a better way?

The fix is in the last release, which also fixes the Jax 0.4.8 issues.


helm: 2.11.0 -> 2.13.0

Reverting back to binary download, because generating nix build from
source does not work with current state of helm and dep init
Motivation for this change
The current helm version was quite old (2.11.0).
This reverts back to downloading the pre-built binary, because I couldn't get a working build from source.
It seems like there is a bug in dep that leads to a problem when calling dep init on the downloaded helm repository: https://github.com/golang/dep/issues/1841
Instead of waiting for all the possible upstream fixes (fix in dep, helm switching from glide to dep, ...) I decided to revert back to the binary download.  Maybe at a later time we can re-introduce a source-build.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Note this package is actually named kubernetes-helm in pkgs/top-level/all-packages.nix. helm is a different package altogether.

Current 2.11.0 helm in nixpkgs is quite buggy.
For example the version does not match semver scheme.
helm version
Client: &version.Version{SemVer:"v2.11.0+unreleased", GitCommit:"", GitTreeState:""}

That leads to errors:
brodul:code/ $ helm tiller install
Installed Helm version &version.Version{SemVer
Installed Tiller version v2.11.0+unreleased
Installing Tiller v&ersion.Version{SemVer ...
version &ersion.Version{SemVer does not match the semver scheme 'X.Y.Z(-PRERELEASE)(+BUILD)'. See help for more information.
Error: plugin "tiller" exited with error

:+1: to this, but I'd recommend v2.14.1 now.

triage: What is the state of this PR? Still waiting on upstream?

In my opinion, the binary approach here is solid, but the version should be 2.14.2 at this point.

@markus1189 Are you able to continue working on this PR and update as requested?

I'll have a look!
On Tue, Jul 16, 2019, 02:37 Aaron Andersen<EMAIL_ADDRESS>wrote:

@markus1189 https://github.com/markus1189 Are you able to continue
working on this PR and update as requested?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/pull/56837?email_source=notifications&email_token=AAEQNT6UR6QCS3V3ONMHI2DP7UJ4HA5CNFSM4G3T7Q32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZ7LBAQ#issuecomment-511619202,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEQNT4BNPXGLZ5NVBBQL6DP7UJ4HANCNFSM4G3T7Q3Q
.

Updated with the binary build of 2.14.2 .  I did not check whether source build would work again though

@edude03 @teozkr @nlewo @yurrriq Can I get one or more of you to either approve or approve and merge this PR?

@aanderse I'm not familiar enough with the Go ecosystem to have a strong opinion on this. I'd generally prefer to stick to source builds but if that's not viable for now then staying up to date probably takes precedence.

I think we should stick with the source build and figure out the dep issue if possible. I managed to get it to work before and I'm sure I could again, although I won't have time to look at it until friday most likely.

We're at 4 months on this PR already so waiting for @edude03 to take a look on Friday seems reasonable to me. Thanks for your offer!


Customize notification sounds per-stream

Since we now offer a reasonably wide choice of notification sounds, we could support customizing the sound for each stream. That'd allow users to be  able to distinguish which stream a notification came from just from the audio cue, which seems like a nice thing to have.
CC @alya

This is probably not hard to add, so the main cost is the space it'd consume in the settings UI.

Thinking about this like stream custom "color", maybe the settings UI is there: "Change color" "Change sound" ? Just a thought


Login with Twitter

What about providing a Twitter Oauth login ?

We could use AkeneoLabs account to provide the API credentials


SpatialBN after FC layer

When I Convert My caffe1model to caffe2.  I have a batchnormal after last FC layer.
But In caffe2 it crahsed at
bool SpatialBNOp::RunOnDevice() {
const auto& X = Input(INPUT);
const auto& scale = Input(SCALE);
const auto& bias = Input(BIAS);
CAFFE_ENFORCE(X.ndim() >= 3 && X.ndim() <= 5);  //<<< here

Maybe you need a Reshape operator between FC and BatchNorm.

@ezineo Can I add your qq to discuss in detail


vnclog Unhandled Error: builtins.TypeError: can only concatenate str (not "bytes") to str

Thx for the making this interesting tool available. I was just playing around with it, so nothing urgent.
Description:
vnclog raises Unhandled Error: builtins.TypeError: can only concatenate str (not "bytes") to str see traceback below
Requested information
Have you included the following information?

[x] VNC server and version
[x] vncdotool version
[x] steps to reproduce
[x] traceback

VNC server and version
QEMU built-in VNC server, listening on <IP_ADDRESS>:5901
note that a SPICE sever is listening on <IP_ADDRESS>:5900
vncdotool version
1.0.0
steps to reproduce

Run vnclog --forever --listen 6000 /tmp
connect remote-viewer to vnc://<IP_ADDRESS>:6000

Traceback
Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/twisted/python/log.py", line 101, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib/python3.9/site-packages/twisted/python/log.py", line 85, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python3.9/site-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python3.9/site-packages/twisted/python/context.py", line 83, in callWithContext
    return func(*args, **kw)
--- <exception caught here> ---
  File "/usr/lib/python3.9/site-packages/twisted/internet/posixbase.py", line 687, in _doReadOrWrite
    why = selectable.doRead()
  File "/usr/lib/python3.9/site-packages/twisted/internet/tcp.py", line 246, in doRead
    return self._dataReceived(data)
  File "/usr/lib/python3.9/site-packages/twisted/internet/tcp.py", line 251, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "vncdotool-1.0.0/vncdotool/loggingproxy.py", line 202, in dataReceived
    RFBServer.dataReceived(self, data)
  File "vncdotool-1.0.0/vncdotool/loggingproxy.py", line 40, in dataReceived
    self.buffer += data
builtins.TypeError: can only concatenate str (not "bytes") to str

CRITICAL:twisted:Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/twisted/python/log.py", line 101, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib/python3.9/site-packages/twisted/python/log.py", line 85, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python3.9/site-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python3.9/site-packages/twisted/python/context.py", line 83, in callWithContext
    return func(*args, **kw)
--- <exception caught here> ---
  File "/usr/lib/python3.9/site-packages/twisted/internet/posixbase.py", line 687, in _doReadOrWrite
    why = selectable.doRead()
  File "/usr/lib/python3.9/site-packages/twisted/internet/tcp.py", line 246, in doRead
    return self._dataReceived(data)
  File "/usr/lib/python3.9/site-packages/twisted/internet/tcp.py", line 251, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "vncdotool-1.0.0/vncdotool/loggingproxy.py", line 202, in dataReceived
    RFBServer.dataReceived(self, data)
  File "vncdotool-1.0.0/vncdotool/loggingproxy.py", line 40, in dataReceived
    self.buffer += data
builtins.TypeError: can only concatenate str (not "bytes") to str

changing https://github.com/sibson/vncdotool/blob/main/vncdotool/loggingproxy.py#L34 to:
self.buffer = b''

seems to prevent this issue from surfacing

Some proposed changes https://github.com/sibson/vncdotool/pull/199

This is already fixed in main, but sadly there is still no new release on pypi, which is another issue #203


Modified nuspec and nupkg references to be OS agnostic

The current code fails on Ubuntu under PowerShell Core because the path references to the .nupkg file include a backslash. This commit changes the code so the path is constructed via Join-Path instead.

Good catch, thanks Mark!


bug(ion-item/ion-input) readonly property

Ionic v2 beta.11
Short description of the problem:
ion-item gets the 'input-has-focus' class if readonly ion-input has been touched.
What behavior are you expecting?
I think, the readonly input cannot be touched.
Which Ionic Version? 2.x
Plunker that shows an example of your issue
http://plnkr.co/edit/VpFbVCcH4m6sjIqcLfMy?p=preview
//CC @brandyscarney

Hello! The readonly attribute actually does allow the input to still be touched as readonly specifies that you can copy and paste text from a readonly input, focus it and tab to it, but you cannot change its value. Thanks for using Ionic!

@jgw96 Is there an official way to selectively disable the label and border highlight of a readonly input when it is focused?


Best way to use policy_scope with custom query data

Currently, I'm trying to use policy_scope in index (with pagination) and search controller action, but I've found no way to pass additional arguments to pundit scope. My current workaround is manually creating policy scope and resolve them like this
#user_controllers
@users = UserPolicy::Scope.new(current_admin, User.all(page: params['page'], per_page: params['per_page'], sort_by: params['sort_by'], order: params['order'])).resolve

#user_policy
class Scope < Struct.new(:admin, :scope)
  def resolve
    if admin.has_permission('index', 'User')
      scope
    end
  end
end

User is not an ActiveRecord class, I'm using Her as the ORM to my REST API.
Is there a better way instead of manually initiate scope like this?

Here's a nice way to semantically limit existing scopes.
scope.all.merge(user.companies)


Single call to update workspace XML?

In order to change sprites in scratch-gui, we have to clear the workspace and load up new blocks from the new sprite. Right now that involves these three things.
1:    workspace.clear()
2:    dom = XML.textToDom(xml)
3:    XML.domToWorkspace(dom, workspace)

Line 1 and 3 both cause workspace.refreshSelection_ to be called, through the toggling of the bulkUpdate flag. That operation costs around 200ms right now, so it would really help to condense the process down to a single bulkUpdate toggle.
@rachel-fenichel thoughts/concerns on how to do this? One option would be to change setBulkUpdating to push/pop the way the field cache does, instead of toggle on/off. Then we could call setBulkUpdating(false) before everything and leave the 3 calls the same. Another option would be to create a single method that wraps the clear -> load xml process. It seems like it would go in XML, but because of the bulkUpdate toggles living in workspace, it would need to change there as well.

Yes, I'm starting to think that setBulkUpdating should be pushed and popped.  Note that we need to catch any exceptions that might happen while pushing it, or else we can lock the system in a state where it never updates again.

I think this is fixed now that scratch-gui/develop is using the function added in #1178. If there is more optimization to be done I think they'll be more targeted so we can track those separately.


OCPEDGE-1089: fix: use rhel9 for the CI build root

Updating the base image for CI to be rhel9 so that the must gather works

/ok-to-test

/lgtm

/approve

/cherry-pick release-4.16


AVRO-1528. C: Applied patch for enum bounds.

@dkulp Thank you for taking the time to look at this (and the other pull requests). It's much appreciated. Thanks.


⚠ Bofrost.lu has degraded performance

In 84ae08d, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1821 ms

Resolved: Bofrost.lu performance has improved in 25fe27a after 6 minutes.


Add version header to INDArray serialization

Currently: INDArray serialization does not have any sort of version information. Thus, if we change the serialization format in the future, we will break loading of INDArrays serialized with previous versions.
To ensure INDArrays serialized with past versions of ND4J are deserializable with all future versions of ND4J, we can use the following approach:

Add 1-4 bytes as a version number as the first value in the serialized INDArray
we probably need only a byte (max) for different versions of nd4j,
but it may be advantageous to add another byte (or two?) for different serialization flags/features that we could add in the future (for example, compression, sparse arrays, etc).

Then, every time we make a change that could break serialization, we increment the serialization version number, and use an if/switch statement (different loading methods for different versions). When deserializing an INDArray, we should also check if it was serialized by a future version of ND4J (relative to the version trying to deserialize), and warn the user (or simply fail).
https://github.com/deeplearning4j/nd4j/blob/4aedc398728252947107dcf4c546b9f8dd6cf7b5/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/factory/Nd4j.java#L1955

We definitely want that now, due to upcoming additional datatypes and sparse support introduction


[Question] CodeStarWorker-test-CloudFormation/AWSCloudFormation is not authorized to perform: iam:CreateRole on resource:

Description:
One of my 'AWS::Serverless::Function' has a policies property like following (without a role property)
Type: 'AWS::Serverless::Function'
    Properties:
      Handler: helloWorld.handler
      Runtime: python3.6
      MemorySize: 128
      Description: 'helloWorld'
      FunctionName: helloWorld
      Policies:
        - Statement:
            - Effect: "Allow"
              Action:
                - "polly:SynthesizeSpeech"
              Resource:
                - "Fn::Sub": "arn:aws:polly:${AWS::Region}:${AWS::AccountId}:lexicon/*"

Observed result:
CodePipeline ExecuteChangeSet failed with this error:
API: iam:CreateRole User: arn:aws:sts::AccountId:assumed-role/CodeStarWorker-test-CloudFormation/AWSCloudFormation is not authorized to perform: iam:CreateRole on resource: arn:aws:iam::AccountId:role/awscodestar-test-lambda-helloWorldRole-V5QUHYDCDRBA
So, I went on to add iam:CreateRole policy to the AWSCloudFormation role and I retried.
In IAM Policy Simulator, that AWSCloudFormation role was able to perform IAM CreateRole action.
However, I got the same error.
Expected result:
Expected a new role to be created with the Polly policy.

I found out that I had to a list of iam policies to my CodeStar CloudFormation role to enable the creation of role by CloudFormation using SAM function policies property in the yaml template.

Hi @Jun711
I'm having this same issue and I'm not sure how you resolved it.  Can you provide some more details?
Is there something I need to add to the CodeDeployRole?
CodeDeployRole:
Type: String
Description: IAM role to allow AWS CodeDeploy to manage deployment of AWS Lambda functions

@Trav-Uncommitted
sorry for late reply. I didn't have to add anything to CodeDeployRole. I just added some iam policies  to the CloudFormation role to allow it to create roles. You can check out this article for more information.


[Suggestion] Item Info Attributes

I was wondering if it's possible to add attribute information such as if an item is auctionable, tradable, sellable, etc?

We currently don't have the capacity to display that in the mod. If you think we should, I suggest making a suggestion in the Discord so the team can discuss it more fully. It sounds like a cool idea, but would be work on the mod side and a lot of work on the repo side.

This is way too much effort for 0 gain and wont be added to the repo.


ajv can handle circular $refs, but not circular memory references

What version of Ajv are you using? Does the issue happen if you use the latest version? 8.12.0
Ajv options object

{strict: false, logger: false}

JSON Schema

const schema = {
  type: 'object',
  properties: {
    value: { type: 'number' },
    // left: { $ref: '#' },
    // right: { $ref: '#' },
  },
  required: ['value'],
};
schema.properties.left = schema;
schema.properties.right = schema;

I'm working with a schema in code that has already resolved $refs to JS references, so I'd like to be able to use such a schema with ajv.
Sample data

{ "value": 1, "left": { "value": 5 } }

Your code

import Ajv from 'ajv';

const schema = {
  type: 'object',
  properties: {
    value: { type: 'number' },
    // left: { $ref: '#' },
    // right: { $ref: '#' },
  },
  required: ['value'],
};
schema.properties.left = schema;
schema.properties.right = schema;

const ajv = new Ajv({ strict: false, logger: false });
ajv.validate(schema, { value: 1, left: { value: 5 } });

Validation result, data AFTER validation, error messages
RangeError: Maximum call stack size exceeded
    at _traverse (/Users/andy/github/stainless-3/node_modules/json-schema-traverse/index.js:67:19)
    at _traverse (/Users/andy/github/stainless-3/node_modules/json-schema-traverse/index.js:83:9)
    at _traverse (/Users/andy/github/stainless-3/node_modules/json-schema-traverse/index.js:80:13)

What results did you expect?
Validation can handle circular references just as well as $refs
Are you going to resolve the issue?

not a bug, it's as documented - circular refs are not supported.


Fixing some syntax for copy/paste function

Copy/Paste functions didnt work in some cases due to a leading $ in the command.   Removed them where they didnt make sense.

Thank you!


Add optional link to costs dashboard. Can be enabled via config.json …

…file in document root.

I like the logo you chose for the cost-link. :moneybag:


Update cheatsheet to Tailwind 3.0

Tailwind 3.0 has finally been released with a number of new features: https://tailwindcss.com/blog/tailwindcss-v3

Working on it :smile:

hi, when release it? @khatabwedaa

hi, when release it? @khatabwedaa

as soon as I finished it hehe

Any news? How can we help you to upgrade it? It's much more friendly than official site.

Hi, It's Already Done wait for the owner to merge.


Add header to generated CSV file

Pretty sure that this is a good idea but I'll leave this open for a while to see if anyone has any issues with it...

Coverage increased (+0.3%) to 57.595% when pulling ac830490c4876189bd274d2db8010d09ea4752f5 on csv-header into 0213ed9a5c18d457bdfd9df58e757e7c315001bd on master.

Taken care of in ec1aeb88c976a6e098feed6f04a3b43f16200c2e

I was convinced after reading https://www.thoughtspot.com/blog/6-rules-creating-valid-csv-files (Rule 4)


Adds ENV changes related to maya api service & K8s connection

Why is this change necessary ?

This lets maya api service connect to K8s based on
K8s Master address or KubeConfig

How does this change address the issue ?

Adds a set of optional ENV variables

How to verify this change ?

Set a value to either of these variables & check
if maya api service can connect to K8s

What side effects does this change have ?

This will make all the requests to maya api server served
by connecting to K8s using these ENV variables.

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:

@AmitKumarDas The sample yaml for provisioner is given below, it can be used along with your changes.Please add these changes also.
kind: Deployment
metadata:
  name: openebs-provisioner
  namespace: default
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: openebs-provisioner
    spec:
      serviceAccountName: openebs-maya-operator
      containers:
      - name: openebs-provisioner
        imagePullPolicy: Always
        image: utkarshmani1997/openebs-provisioner:test02
        command: ["openebs-provisioner"]
        args:
       # pass-your master's ip as given below or absolute path of kubeconfig
       # in -kubeconfig flag. Either of the flags should work fine.
        - -master=http://<IP_ADDRESS>:8080
       # you can find absolute path by running command "readlink -f .kube/config"
       # - -kubeconfig=/home/ubuntu/.kube/config
        env:
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              fieldPath: spec.nodeName
        - name: OPENEBS_MONITOR_URL
          value: "http://<IP_ADDRESS>:32515/dashboard/db/openebs-volume-stats?orgId=1"
        - name: OPENEBS_MONITOR_VOLKEY
          value: "&var-OpenEBS"
        - name: MAYA_PORTAL_URL
          value: "https://mayaonline.io/"

Will provide a new PR soon since there are some changes in provisioner which needs to get in here.


Fix adapter-cloudflare-workers prerendering bug

This is #4467, brought up to date following #4276. Confirmed it fixes the repro linked in the original PR.
I don't love that we've reintroduced arbitrary esbuild options — if I was paying closer attention I would have questioned this on #4276. It's an abstraction leak and the sort of thing that's likely to tie our hands in future. @f5io can you elaborate on why you needed to make that change in #4467?
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

I don't love that we've reintroduced arbitrary esbuild options — if I was paying closer attention I would have questioned this on #4276. It's an abstraction leak and the sort of thing that's likely to tie our hands in future.

was added there to be in sync with adapter-cloudflare https://github.com/sveltejs/kit/blob/a82858820a67f5153bbe24469473aef041ddd199/packages/adapter-cloudflare/index.js#L7
should it an external option instead on both like in adapter-vercel https://github.com/sveltejs/kit/blob/master/packages/adapter-vercel/index.js#L86 ?
Do we want to have a common options api between different adapters?

I don't think adapters need a common API exactly, since options that make sense for one adapter won't make sense for another one. But yeah, they should be consistent to the extent possible.
I didn't even realise that adapter-cloudflare is passing through arbitrary options. Clearly I need to pay more attention.
The Vercel adapter only lets you pass through an external option: https://github.com/sveltejs/kit/blob/2ddece81543459f5b2770fafda79e4ac91c9cbbe/packages/adapter-vercel/index.js#L86
This makes much more sense to me since we might choose to (for example) drop the esbuild step when targeting Lambda. Besides, passing through all the options uncritically is just bad API design — it means that any new options of our own we want to add could conflict with future esbuild options, which would mandate breaking changes on our end.

Hi @Rich-Harris, I was requiring esbuild options to get the node-stripe package to work in cloudflare workers within sveltekit endpoints.
It requires some jiggery-pokery around shimming browserify alternatives to certain node std libraries, as can be seen in their example weback.config.js.
Currently this is what we're requiring as options to pass through to the adapter, it's working for us in workers with this approach...
... snip ...
adapter: adapter({
  inject: [
    '../../package/build-tools/globals.js',
  ],
  plugins: [ stripePlugin ],
  define: {
    'process.env.NODE_ENV': '"production"',
    'process.env.NODE_DEBUG': 'false',
  }
}),
... snip ...

We're not keen to move to cloudflare pages at this point, and with this limitation, we would have to manually patch to work-around it. Unfortunately, I'm not sure how open Stripe are to modernising their node library.

As an alternative to the whole options object being passed into the esbuild, could be we perhaps have options be this shape...
type Options {
  esbuild?: any; // ideally using actually esbuild options type here...
}

This would prevent your concerns around limiting new options.

If we were to implement #3535 somehow, you'd need to apply those changes in development as well as to the production build. It feels to me like working around the legacy quirks of packages like node-stripe belongs in the main Vite config where it applies universally, rather than being a last-mile sort of thing. That would be the closest equivalent of the example webpack config above, at any rate.

Agreed, that would be the ideal solution, however, it seems there may be an issue with relying on vite for our particular stripe-node issue.
As far as I can tell from the ESBuildOptions definition in vite, it wraps esbuild's Transform API. Unfortunately, to get node-stripe working we have to inject some global variables, and esbuild only supports inject through the Build API.

You'd use vite.plugins (and presumably vite.ssr.noExternal), I think? Vite can take care of define, and you could just import globals.js in your src/hooks.js (or in any modules that rely on them). I'm not sure what shimming Node built-ins looks like — possibly just using rollup-plugin-node-builtins — either way I'm sure it's possible.

i'll give it a go with adding the global definitions into hooks.ts.
we have a custom esbuild plugin that i can pass thru the vite config for the rest.
we already have this deployed and working with the options passing in the adapter. if we can get it working with the vite config and it doesn't impact our dev environment then i'm happy to say we don't need the options object in the adapter

OK, I was confused, our custom esbuild plugin for shimming the node builtins also only works with the Build API. So my initial testing has turned up fruitless.
With a combination of rollup-plugin-node-builtins and rollup-plugin-node-globals defined as such in the svelte.config.js:
...snip...
      ssr: {
        noExternal: true,
      },
      plugins: [
        globals(),
        builtins(),
      ],
      esbuild: {
        define: {
          'process.env.NODE_ENV': '"production"',
          'process.env.NODE_DEBUG': 'false',
        }
      },
...snip...

This is the only change, yet I receive the following error when trying to build:
vite v2.9.1 building SSR bundle for development...
✓ 0 modules transformed.
[at position 13] Unexpected token (69:24) in /***/app/backend/.svelte-kit/build/index.js
file: /***/app/backend/.svelte-kit/build/index.js:69:24
[!] Error: unfinished hook action(s) on exit:

The offending line being:
const module = await import("./hooks.js");

For context, we are running 12 applications on cloudflare workers that comprise a full system. 4 of them are sveltekit applications, the rest plain, servers built with esbuild, using miniflare as the dev environment. One slightly annoying thing about this new approach is that I have 2 different processes to achieve the same thing, one that has to work through vite and one that already works through esbuild. This is ABSOLUTELY my problem, not yours, I just thought it worth noting.
Caveat: I have yet to update to the latest adapter released today. My team and I will need a bit of time to achieve further testing on this approach as to move to the Module Worker pattern we need to refactor our runtime environment and secret management processes.

is
const module = await import("./hooks.js");

a new addition? is there any reason it can't be
import "./hooks.js";

instead? it looks like the top-level await is falling afoul of the esbuild config somehow.
Agree that it probably makes sense to move this discussion to a separate thread dedicated to esbuild options though

Thanks @Rich-Harris
So, I made no change to the contents of the application, only to the svelte.config.js itself, and installing those 2 new rollup plugins. So I can only assume that this is sveltekit internals?!?
Funnily enough, if I revert my svelte.config.js changes, but don't remove the dependencies, my old process fails. Only installing from my previous yarn.lock resolves the issue. So I'm guessing its something to do with the 2 rollup plugins. yarn.lock diff is below...
diff --git a/yarn.lock b/yarn.lock
index 080e2e0d..a4b7d8ff 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4833,6 +4833,13<EMAIL_ADDRESS><EMAIL_ADDRESS>   dependencies:
     event-target-shim "^5.0.0"

<EMAIL_ADDRESS><EMAIL_ADDRESS>+  version "0.12.4"
+  resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz#29e18e632e60e4e221d5810247852a63d7b2e410"
+  integrity sha1-KeGOYy5g5OIh1YECR4UqY9ey5BA=
+  dependencies:
+    xtend "~3.0.0"
+
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>   version "1.3.8"
   resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
@@ -4885,6 +4892,11<EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
   integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==

<EMAIL_ADDRESS>+  version "5.7.4"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e"
+  integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==
+
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>   version "7.4.1"
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
@@ -5713,6 +5725,13<EMAIL_ADDRESS>     inherits "^2.0.4"
     readable-stream "^3.4.0"

<EMAIL_ADDRESS>+  version "0.8.2"
+  resolved "https://registry.yarnpkg.com/bl/-/bl-0.8.2.tgz#c9b6bca08d1bc2ea00fc8afb4f1a5fd1e1c66e4e"
+  integrity sha1-yba8oI0bwuoA/Ir7Txpf0eHGbk4=
+  dependencies:
+    readable-stream "~1.0.26"
+
<EMAIL_ADDRESS>   version "1.1.1"
   resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.1.tgz#bf313053978b2cd4c444a48795710be05c785702"
@@ -5877,6 +5896,15<EMAIL_ADDRESS>     inherits "^2.0.1"
     safe-buffer "^5.1.2"

<EMAIL_ADDRESS>+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/browserify-fs/-/browserify-fs-1.0.0.tgz#f075aa8a729d4d1716d066620e386fcc1311a96f"
+  integrity sha1-8HWqinKdTRcW0GZiDjhvzBMRqW8=
+  dependencies:
+    level-filesystem "^1.0.1"
+    level-js "^2.1.3"
+    levelup "^0.18.2"
+
<EMAIL_ADDRESS><EMAIL_ADDRESS>   version "4.1.0"
   resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d"
@@ -5980,6 +6008,11<EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
   integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=

<EMAIL_ADDRESS><EMAIL_ADDRESS>+  version "4.9.3"
+  resolved "https://registry.yarnpkg.com/buffer-es6/-/buffer-es6-4.9.3.tgz#f26347b82df76fd37e18bcb5288c4970cfd5c404"
+  integrity sha1-8mNHuC33b9N+GLy1KIxJcM/VxAQ=
+
<EMAIL_ADDRESS>   version "1.1.2"
   resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
@@ -6597,6 +6630,11<EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
   integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=

<EMAIL_ADDRESS>+  version "0.1.19"
+  resolved "https://registry.yarnpkg.com/clone/-/clone-0.1.19.tgz#613fb68639b26a494ac53253e15b1a6bd88ada85"
+  integrity sha1-YT+2hjmyaklKxTJT4Vsaa9iK2oU=
+
<EMAIL_ADDRESS><EMAIL_ADDRESS>   version "1.1.1"
   resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188"
@@ -6781,6 +6819,16<EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
   integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=

<EMAIL_ADDRESS>+  version "1.6.2"
+  resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+  integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
+  dependencies:
+    buffer-from "^1.0.0"
+    inherits "^2.0.3"
+    readable-stream "^2.2.2"
+    typedarray "^0.0.6"
+
<EMAIL_ADDRESS>   version "6.5.1"
   resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-6.5.1.tgz#4518c67f7ac680cf5c34d5adf399a2a2047edc8c"
@@ -7633,6 +7681,13<EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587"
   integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==

<EMAIL_ADDRESS>+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz#2cef1f111e1c57870d8bbb8af2650e587cd2f5b4"
+  integrity sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ=
+  dependencies:
+    abstract-leveldown "~0.12.1"
+
<EMAIL_ADDRESS>   version "2.0.0"
   resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f"
@@ -8215,6 +8270,13<EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4"
   integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==

<EMAIL_ADDRESS><EMAIL_ADDRESS>+  version "0.1.8"
+  resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f"
+  integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==
+  dependencies:
+    prr "~1.0.1"
+
<EMAIL_ADDRESS>   version "1.3.2"
   resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
@@ -9210,6 +9272,11<EMAIL_ADDRESS><EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
   integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==

<EMAIL_ADDRESS>+  version "0.5.2"
+  resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39"
+  integrity sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==
+
<EMAIL_ADDRESS>   version "0.6.1"
   resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362"
@@ -9841,7 +9908,7<EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc"
   integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>   version "2.0.5"
   resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
   integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k=
@@ -10022,6 +10089,13<EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
   integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=

<EMAIL_ADDRESS>+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/fwd-stream/-/fwd-stream-1.0.4.tgz#ed281cabed46feecf921ee32dc4c50b372ac7cfa"
+  integrity sha1-7Sgcq+1G/uz5Ie4y3ExQs3KsfPo=
+  dependencies:
+    readable-stream "~1.0.26-4"
+
<EMAIL_ADDRESS><EMAIL_ADDRESS>   version "1.0.0-beta.2"
   resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
@@ -10973,6 +11047,11<EMAIL_ADDRESS><EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
   integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==

<EMAIL_ADDRESS>+  version "1.7.2"
+  resolved "https://registry.yarnpkg.com/idb-wrapper/-/idb-wrapper-1.7.2.tgz#8251afd5e77fe95568b1c16152eb44b396767ea2"
+  integrity sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg==
+
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>   version "1.2.1"
   resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
@@ -11086,6 +11165,11<EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
   integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==

<EMAIL_ADDRESS>+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
+  integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
+
<EMAIL_ADDRESS>   version "0.2.0-alpha.37"
   resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.37.tgz#b87ff42d528d6d050098a560f0294fbdd12adb78"
@@ -11492,6 +11576,11<EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
   integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==

<EMAIL_ADDRESS>+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/is-object/-/is-object-0.1.2.tgz#00efbc08816c33cfc4ac8251d132e10dc65098d7"
+  integrity sha1-AO+8CIFsM8/ErIJR0TLhDcZQmNc=
+
<EMAIL_ADDRESS>   version "1.1.0"
   resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e"
@@ -11707,6 +11796,11<EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232"
   integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==

<EMAIL_ADDRESS>+  version "0.2.7"
+  resolved "https://registry.yarnpkg.com/is/-/is-0.2.7.tgz#3b34a2c48f359972f35042849193ae7264b63562"
+  integrity sha1-OzSixI81mXLzUEKEkZOucmS2NWI=
+
<EMAIL_ADDRESS>   version "0.0.1"
   resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
@@ -11717,6 +11811,11<EMAIL_ADDRESS><EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
   integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=

<EMAIL_ADDRESS>+  version "0.0.0"
+  resolved "https://registry.yarnpkg.com/isbuffer/-/isbuffer-0.0.0.tgz#38c146d9df528b8bf9b0701c3d43cf12df3fc39b"
+  integrity sha1-OMFG2d9Si4v5sHAcPUPPEt8/w5s=
+
<EMAIL_ADDRESS>   version "2.0.0"
   resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
@@ -12980,6 +13079,91<EMAIL_ADDRESS><EMAIL_ADDRESS>   dependencies:
     package-json "^6.3.0"

<EMAIL_ADDRESS>+  version "0.1.7"
+  resolved "https://registry.yarnpkg.com/level-blobs/-/level-blobs-0.1.7.tgz#9ab9b97bb99f1edbf9f78a3433e21ed56386bdaf"
+  integrity sha1-mrm5e7mfHtv594o0M+Ie1WOGva8=
+  dependencies:
+    level-peek "1.0.6"
+    once "^1.3.0"
+    readable-stream "^1.0.26-4"
+
<EMAIL_ADDRESS>+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/level-filesystem/-/level-filesystem-1.2.0.tgz#a00aca9919c4a4dfafdca6a8108d225aadff63b3"
+  integrity sha1-oArKmRnEpN+v3KaoEI0iWq3/Y7M=
+  dependencies:
+    concat-stream "^1.4.4"
+    errno "^0.1.1"
+    fwd-stream "^1.0.4"
+    level-blobs "^0.1.7"
+    level-peek "^1.0.6"
+    level-sublevel "^5.2.0"
+    octal "^1.0.0"
+    once "^1.3.0"
+    xtend "^2.2.0"
+
<EMAIL_ADDRESS>+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/level-fix-range/-/level-fix-range-2.0.0.tgz#c417d62159442151a19d9a2367868f1724c2d548"
+  integrity sha1-xBfWIVlEIVGhnZojZ4aPFyTC1Ug=
+  dependencies:
+    clone "~0.1.9"
+
<EMAIL_ADDRESS>+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/level-fix-range/-/level-fix-range-1.0.2.tgz#bf15b915ae36d8470c821e883ddf79cd16420828"
+  integrity sha1-vxW5Fa422EcMgh6IPd95zRZCCCg=
+
<EMAIL_ADDRESS><5":
+  version "4.5.0"
+  resolved "https://registry.yarnpkg.com/level-hooks/-/level-hooks-4.5.0.tgz#1b9ae61922930f3305d1a61fc4d83c8102c0dd93"
+  integrity sha1-G5rmGSKTDzMF0aYfxNg8gQLA3ZM=
+  dependencies:
+    string-range "~1.2"
+
<EMAIL_ADDRESS>+  version "2.2.4"
+  resolved "https://registry.yarnpkg.com/level-js/-/level-js-2.2.4.tgz#bc055f4180635d4489b561c9486fa370e8c11697"
+  integrity sha1-vAVfQYBjXUSJtWHJSG+jcOjBFpc=
+  dependencies:
+    abstract-leveldown "~0.12.0"
+    idb-wrapper "^1.5.0"
+    isbuffer "~0.0.0"
+    ltgt "^2.1.2"
+    typedarray-to-buffer "~1.0.0"
+    xtend "~2.1.2"
+
<EMAIL_ADDRESS><EMAIL_ADDRESS>+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/level-peek/-/level-peek-1.0.6.tgz#bec51c72a82ee464d336434c7c876c3fcbcce77f"
+  integrity sha1-vsUccqgu5GTTNkNMfIdsP8vM538=
+  dependencies:
+    level-fix-range "~1.0.2"
+
<EMAIL_ADDRESS>+  version "5.2.3"
+  resolved "https://registry.yarnpkg.com/level-sublevel/-/level-sublevel-5.2.3.tgz#744c12c72d2e72be78dde3b9b5cd84d62191413a"
+  integrity sha1-dEwSxy0ucr543eO5tc2E1iGRQTo=
+  dependencies:
+    level-fix-range "2.0"
+    level-hooks ">=4.4.0 <5"
+    string-range "~1.2.1"
+    xtend "~2.0.4"
+
<EMAIL_ADDRESS>+  version "0.18.6"
+  resolved "https://registry.yarnpkg.com/levelup/-/levelup-0.18.6.tgz#e6a01cb089616c8ecc0291c2a9bd3f0c44e3e5eb"
+  integrity sha1-5qAcsIlhbI7MApHCqb0/DETj5es=
+  dependencies:
+    bl "~0.8.1"
+    deferred-leveldown "~0.2.0"
+    errno "~0.1.1"
+    prr "~0.0.0"
+    readable-stream "~1.0.26"
+    semver "~2.3.1"
+    xtend "~3.0.0"
+
<EMAIL_ADDRESS>   version "3.1.0"
   resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
@@ -13401,6 +13585,11<EMAIL_ADDRESS>   dependencies:
     yallist "^4.0.0"

<EMAIL_ADDRESS>+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5"
+  integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=
+
<EMAIL_ADDRESS>   version "2.3.9"
   resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1"
@@ -13416,6 +13605,13<EMAIL_ADDRESS>     "@magic-sdk/types" "^7.0.0"
     localforage "^1.7.4"

<EMAIL_ADDRESS>+  version "0.22.5"
+  resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e"
+  integrity sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==
+  dependencies:
+    vlq "^0.2.2"
+
<EMAIL_ADDRESS><EMAIL_ADDRESS>   version "0.25.7"
   resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
@@ -14581,6 +14777,20<EMAIL_ADDRESS><EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
   integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==

<EMAIL_ADDRESS>+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.2.0.tgz#cddec02998b091be42bf1035ae32e49f1cb6ea67"
+  integrity sha1-zd7AKZiwkb5CvxA1rjLknxy26mc=
+  dependencies:
+    foreach "~2.0.1"
+    indexof "~0.0.1"
+    is "~0.2.6"
+
<EMAIL_ADDRESS>+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336"
+  integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=
+
<EMAIL_ADDRESS><EMAIL_ADDRESS>   version "4.1.2"
   resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
@@ -14638,6 +14848,11<EMAIL_ADDRESS><EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
   integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==

<EMAIL_ADDRESS>+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/octal/-/octal-1.0.0.tgz#63e7162a68efbeb9e213588d58e989d1e5c4530b"
+  integrity sha1-Y+cWKmjvvrniE1iNWOmJ0eXEUws=
+
<EMAIL_ADDRESS>   version "2.3.0"
   resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
@@ -15684,6 +15899,11<EMAIL_ADDRESS><EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057"
   integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==

<EMAIL_ADDRESS><EMAIL_ADDRESS>+  version "0.11.6"
+  resolved "https://registry.yarnpkg.com/process-es6/-/process-es6-0.11.6.tgz#c6bb389f9a951f82bd4eb169600105bd2ff9c778"
+  integrity sha1-xrs4n5qVH4K9TrFpYAEFvS/5x3g=
+
<EMAIL_ADDRESS>   version "2.0.1"
   resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
@@ -15759,6 +15979,16<EMAIL_ADDRESS>     forwarded "0.2.0"
     ipaddr.js "1.9.1"

<EMAIL_ADDRESS>+  version "0.0.0"
+  resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
+  integrity sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=
+
<EMAIL_ADDRESS>+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
+  integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
+
<EMAIL_ADDRESS>   version "7.2.0"
   resolved "https://registry.yarnpkg.com/ps-list/-/ps-list-7.2.0.tgz#3d110e1de8249a4b178c9b1cf2a215d1e4e42fc0"
@@ -16154,7 +16384,17 @@ readable-stream@3, <EMAIL_ADDRESS><EMAIL_ADDRESS>readable-stre
     string_decoder "^1.1.1"
     util-deprecate "^1.0.1"

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>+  version "1.1.14"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
+  integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
+  dependencies:
+    core-util-is "~1.0.0"
+    inherits "~2.0.1"
+    isarray "0.0.1"
+    string_decoder "~0.10.x"
+
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>   version "2.3.7"
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
   integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
@@ -16167,7 +16407,7<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>readable
     string_decoder "~1.1.1"
     util-deprecate "~1.0.1"

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>   version "1.0.34"
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
   integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=
@@ -16736,6 +16976,28<EMAIL_ADDRESS>   dependencies:
     rollup-pluginutils "^2.5.0"

<EMAIL_ADDRESS>+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/rollup-plugin-node-builtins/-/rollup-plugin-node-builtins-2.1.2.tgz#24a1fed4a43257b6b64371d8abc6ce1ab14597e9"
+  integrity sha1-JKH+1KQyV7a2Q3HYq8bOGrFFl+k=
+  dependencies:
+    browserify-fs "^1.0.0"
+    buffer-es6 "^4.9.2"
+    crypto-browserify "^3.11.0"
+    process-es6 "^0.11.2"
+
<EMAIL_ADDRESS>+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/rollup-plugin-node-globals/-/rollup-plugin-node-globals-1.4.0.tgz#5e1f24a9bb97c0ef51249f625e16c7e61b7c020b"
+  integrity sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g==
+  dependencies:
+    acorn "^5.7.3"
+    buffer-es6 "^4.9.3"
+    estree-walker "^0.5.2"
+    magic-string "^0.22.5"
+    process-es6 "^0.11.6"
+    rollup-pluginutils "^2.3.1"
+
<EMAIL_ADDRESS>   version "5.2.0"
   resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz#730f93d10ed202473b1fb54a5997a7db8c6d8523"
@@ -16766,7 +17028,7<EMAIL_ADDRESS>     resolve "1.20.0"
     tslib "2.1.0"

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>   version "2.8.2"
   resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e"
   integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==
@@ -17000,6 +17262,11<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
   integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==

<EMAIL_ADDRESS>+  version "2.3.2"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-2.3.2.tgz#b9848f25d6cf36333073ec9ef8856d42f1233e52"
+  integrity sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI=
+
<EMAIL_ADDRESS>   version "0.17.2"
   resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820"
@@ -17660,6 +17927,11<EMAIL_ADDRESS>     char-regex "^1.0.2"
     strip-ansi "^6.0.0"

<EMAIL_ADDRESS><EMAIL_ADDRESS>+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/string-range/-/string-range-1.2.2.tgz#a893ed347e72299bc83befbbf2a692a8d239d5dd"
+  integrity sha1-qJPtNH5yKZvIO++78qaSqNI51d0=
+
<EMAIL_ADDRESS>   version "1.0.2"
   resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
@@ -18898,6 +19170,16<EMAIL_ADDRESS>   dependencies:
     is-typedarray "^1.0.0"

<EMAIL_ADDRESS>+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-1.0.4.tgz#9bb8ba0e841fb3f4cf1fe7c245e9f3fa8a5fe99c"
+  integrity sha1-m7i6DoQfs/TPH+fCRenz+opf6Zw=
+
<EMAIL_ADDRESS>+  version "0.0.6"
+  resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+  integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+
 typescript@*, <EMAIL_ADDRESS><EMAIL_ADDRESS>   version "4.5.5"
   resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3"
@@ -19433,6 +19715,11<EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/viz.js/-/viz.js-1.8.2.tgz#d9cc04cd99f98ec986bf9054db76a6cbcdc5d97a"
   integrity sha512-W+1+N/hdzLpQZEcvz79n2IgUE9pfx6JLdHh3Kh8RGvLL8P1LdJVQmi2OsDcLdY4QVID4OUy+FPelyerX0nJxIQ==

<EMAIL_ADDRESS>+  version "0.2.3"
+  resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26"
+  integrity sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==
+
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>   version "1.1.2"
   resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
@@ -20054,11 +20341,36<EMAIL_ADDRESS>   resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
   integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==

<EMAIL_ADDRESS>+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.2.0.tgz#eef6b1f198c1c8deafad8b1765a04dad4a01c5a9"
+  integrity sha1-7vax8ZjByN6vrYsXZaBNrUoBxak=
+
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>   version "4.0.2"
   resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
   integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==

<EMAIL_ADDRESS>+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.0.6.tgz#5ea657a6dba447069c2e59c58a1138cb0c5e6cee"
+  integrity sha1-XqZXptukRwacLlnFihE4ywxebO4=
+  dependencies:
+    is-object "~0.1.2"
+    object-keys "~0.2.0"
+
<EMAIL_ADDRESS>+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b"
+  integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os=
+  dependencies:
+    object-keys "~0.4.0"
+
<EMAIL_ADDRESS>+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a"
+  integrity sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=
+
<EMAIL_ADDRESS>   version "4.0.3"
   resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"

Hmm, weird. Now that this PR is merged, the thread will get lost, so maybe we should continue this in a discussion with a reproduction.
Opened #4639 to remove esbuild options, FYI


4.0.x merge pull request #51

@confluentinc It looks like @CodingParsley just signed our Contributor License Agreement. :+1:
Always at your service,
clabot

Something seems off with the downstream dependency checks. It looks like for some reason it's extracting garbage for the version, which then makes the request to the dependency service fail. https://jenkins.confluent.io/job/confluentinc-pr/job/support-metrics-common/job/PR-53/2/execution/node/125/log/ I tried to reproduce locally but it seems to give valid output -- @xli1996 have you seen anything like this before? I don't think logs currently give enough info to track down, we can probably do some jenkins replays to track down if it's not a known issue.

No it is not a known issue, quick look suggest the issue is curl -f https://dependency-mgmt.tools.confluent-internal.io/v1/downstream_repos/support-metrics-common/[ERROR] something was worng with the way it fetched maven version
mvn help:evaluate -Dexpression=project.version -q -DforceStdout | tail -1

I think the issue is that oracle7-build-image which is the image use for 4.0.x job has a very old maven version which does not support help plugin. Maybe we can update the maven version for those images are just disable downstream changes there.

I think it might because of the java version, though the document suggest it has support start from jdk 1.7, but it failed on oracle7-build-image which is what the build current use.


Fixes #4330

The problem was caused by the avalon toolkit's (potential) addition of hydrogens and atom renumbering.
The fix for #4075 introduced in #4079 wasn't particularly robust.
When the number of atoms returned by the avalon code is larger than what we started with, or in cases where the input molecule already has Hs, this does an explicit substructure match between the mol returned from the avalon code and the input molecule rather than using heuristics.

should we include a test with the H explicit?
auto mol = "FC@(OOF)Br"_smiles;

should we include a test with the H explicit?
auto mol = "F[C@]([H])(OOF)Br"_smiles;

That specific one won't work because the H will get stripped on parsing, but I don't think adding one which does preserve the input H will yield a different result than the AddHs() tests. Still, it doesn't hurt to add it.

@bp-kelley test added


Use / as info endpoint instead of /info

This is already a part of the draft schema as listed in #33.

I've mixed feelings on this.
I like removing "/info" if we consider that the root URL is pointing to "beacon" as a resource, in the REST way. But we can not be sure.
On the other hand, In general, we are not using the REST approach for endpoints, like "query".
On the other hand, in another issue, you are suggesting to add "datasets" as endpoint, which is a resource...
Thus, I'll vote to keep both "/" and "/info" and endorse flexibility again. Mapping two distinct endpoints to the same "method" should not be a big deal for any developer, I'm guessing.

Accepted.


Public Domain vs. Copyright

There’s a conflict between this sentence:

Several CMS projects have preferred to dedicate their work in the Public Domain

Versus this clause:

Once an appropriate license is chosen for the project, the full license text should be included in the ‘license’ file of the distribution bundle. Each source code must have a notice at the top to name CMS, or an organization designated explicitly by CMS as the copyright and license holder of the source code and provide a link to the full text of the license.

Public domain is a waiving of copyright (more or less), so if something is in the public domain, it doesn’t make sense to mark it as being copyrighted by CMS.

Our v1.1 release should resolve this issue in the License section.


how to add icon into PlutoCell or some widget

I try to add an icon into cell example about status of row like use or not use but seem it not work, is any resole for me

Cell values are output as strings.
You can't output icons or other widgets as cell values.
This should add functionality.
Let me consider it.

hope you will have solution for this soon

Hi @bosskmk, any update on this ? really looking forward to add custom icons in each row for deleting, info, etc.

@rohitranjan1991
Check out the example below. This function can be implemented with cell renderer.
https://weblaze.dev/pluto_grid/build/web/#feature/cell-renderer

@bosskmk , Thanks for the link. But I am not able to understand it. So the image Image.asset is defined in the PlutoColumn which then gets displayed in each row. What if I want to show different Images in different rows?


[LI-HOTFIX] add configuration to control least loaded node logic in clients

TICKET = N/A
LI_DESCRIPTION = vanilla logic can lead to clients being sticky to the same broker, which can cause issues. added new mode to spread out the MD requests a bit more.
fixed merge conflicts
EXIT_CRITERIA = N/A
Co-authored-by: Radai Rosenblatt<EMAIL_ADDRESS>(cherry picked from commit 706e0211cb88ad4dbfe2f75045c726e9a1887faf)

Merged by @lmr3796 In another PR


Make helpers local

Preposterous! I am shocked I made that mistake and shocked that no one found it. I hope I will never have offspring, so they will not have to live with this shame on their name.
Did you test this and no further changes are necessary for it to stay fully functional? Sadly I can't really do that myself at the moment.
Thank you for your contribution!

Yes, I tested it and no more changes are required.

Great, thanks again!


feat: support edgex minnesota through auto-collector

What type of PR is this?
/kind feature
/sig iot
What this PR does / why we need it:
support edgex minnesota through auto-collector
Which issue(s) this PR fixes:

Fixes #1581
other Note

I'm just a porter representing the auto-collector🤣

/assign @Rui-Gan

Hold on, this is an automatically generated configuration, we still need to do some reviews on this edgex version🧐.

/lgtm

/approve

/lgtm


uploads should be encrypted by default

main motivation atm for this is to improve batch utilization.
we need numbers on how this improves the situation.
Things to measure:

Measure batch utilization without encryption
measure batch utilization uploading the same content but with encryption on

What, really?  This would be a breaking change for existing upload tools?

Or are you talking about only the gateway and not the API?

@ldeffenb what we are thinking is the encryption header should be on by default so that the node encrypts the uploaded data.
any download endpoint can then be used with returned reference which also contains the encryption key as normal.
In what way do you think this will break the existing tools?

My OSM uploader uploads the individual files and captures their references.  It then externally builds the mantaray manifest referencing those file references.   If the /bytes API defaults to encryption, then all of my following OSM updates (or at least the first update after the change) will end up getting unique (or new) references for the unchanged files that already exist within the swarm.   Given that this dataset is millions and millions of files, the cost to the stamp will be substantial as compared to the current re-use of non-changed map tiles from one update to the next.
And I can't believe I'm the only one relying on the swarm reference to not change if the contents do not change when continuing to use the same API for uploading.

Of course, it only requires the uploading tools to set the encryption header to false, but changing defaults like this needs to be well publicized.

I think the default encryption is more inline with swarm's mission
and yes, the only change for uploading tools is to set the header to false if they are incompatible with the encrypted references.
yes, breaking changes do need to be well publicized.

We need to make sure we communicate this to the community at least 2 weeks before release.
Also sync with Aron - he may have some encryption defaults on the beejs side.

initial testing has revealed that encryption does not improve utilization https://hackmd.io/qZF11cycQzOFb0_YyUYUpw

The hackmd link gives "403 Forbidden"

It would be interesting to see a histogram of the /stamps/{batchID}/buckets values for these 4 tests.  https://docs.ethswarm.org/debug-api/#tag/Postage-Stamps/paths/~1stamps~1{batch_id}~1buckets/get

This one is not expected to have any impact on batch utilisation, but for privacy reasons we need to proceed with this. In order to do so, we need the following:

Sync with the bee-js team so they make the relevant change on their side as well (encryprion by default to true)
Before we release this one, leave at least 10 days before @NoahMaizels know, so that he communicates it to the community (changes the size).

(changes the size).

I presume you mean the size of the produced references since they'll now include the decryption key?   That'll take a bit to get used to (even though I'll be explicitly flagging my uploads as non-encrypted).


Passing --cfg.tgt.dataset_id to ctk does not work

./ctk --ctk.tgt.urlRoot=https://www.googleapis.com/genomics/v1beta2?key=AIzaSyDSCPSt4PhkKoVc8NlcscE_uPvlUppVCEY --cfg.tgt.dataset_id=3556965148596575732
...
T.TRAFFIC] SearchReadsRequestPOST <{"readGroupIds":["compliance-dataset1:wgBam:wgEncodeUwRepliSeqBg02esG1bAlnRep1_sample","compliance-dataset1:wgBam:wgEncodeUwRepliSeqBg02esG2AlnRep1_sample","compliance-dataset1:1kg-low-coverage:HG00096.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522","compliance-dataset1:1kg-low-coverage:HG00533.mapped.ILLUMINA.bwa.CHS.low_coverage.20120522","compliance-dataset1:1kg-low-coverage:HG00534.mapped.ILLUMINA.bwa.CHS.low_coverage.20120522"]}> null 503
[T.TRAFFIC] SearchVariantSetsRequestPOST <{"datasetId":"compliance-dataset1"}> null 503
[T.TRAFFIC] SearchReadsRequestPOST <{"readGroupIds":[""]}> null 503
[T.TRAFFIC] GET <null> null 503
[T.TRAFFIC] SearchReferencesRequestPOST <{"md5checksums":[],"accessions":[]}> null 503
[T.TRAFFIC] SearchReadsRequestPOST <{"readGroupIds":["myNonsenseId"]}> null 503
[T.TRAFFIC] SearchReadGroupSetsRequestPOST <{"datasetId":"compliance-dataset1","name":"xyzzy"}> null 503
[T.TRAFFIC] SearchReferencesRequestPOST <{"md5checksums":["TODO"],"accessions":[]}> null 503

Requests are still made with 'compliance-dataset1'.

FYI: It works as a java flag -Dcfg.tgt.dataset_id=3556965148596575732

Correct.
I'm trying to come up with a clean way to allow tests to access arbitrary "--blabla=xyzzy" keys and values passed to thee ctk script.  I will update this issue when the TestData.getDatasetId method implements it.

@sarahhunt, @calbach - I just merged some work that allows this to work via command-line, environment variable, or Java system property.
N.B. The name has changed to ctk.tgt.dataset_id for consistency with existing configurable options.  As an environment variable it's CTK_TGT_DATASET_ID.
Please let me know if this works for you.

"Works for me," and has for a couple of weeks.  If it doesn't work for you, please reopen this issue.


Fix docs icons and add empty state

Summary

@anku255 On android docs icon appear a little bit lower to the heading. Rest all looks good.


Export from Splunk Addon Builder v4.1.3; use Akamai branding

📝 Description
This change rebuilds the TA-linode project using Splunk Add-on Builder v4.1.3. This is necessary to maintain compatibility with Splunk Cloud moving forward.
Additionally, this change swaps out the legacy Linode icon for Akamai branding following the Akamai Brand Guide.

@yec-akamai Aside from the unit tests, you can do the following to manually test the integration:

Clone the project locally
Run make build to build the project into a .tar.gz package
Provision a Splunk instance using Docker (see the Splunk DockerHub page)
Import the built package into Splunk through the App Manager
Navigate to the Linode Addon's homepage and try creating an event collector


Fix python::pip installing $editable VCS packages every Puppet run

Pull Request (PR) description
This is due to VCS packages appearing in pip freeze -all as:
-e git://example.com/package.git@#egg=
Updates $grep_regex, which checks whether a given version is installed, to
match against the two different output formats of pip list. No longer
relies on pip freeze.
Additionally, this commit:
Removes the multiple exec resources which were mostly the same and replaces
with variables $pip_exec_name, $command, and $unless_command, which get
used in a single exec resource at the end of the manifest.
Checks if $pkgname contains ==, and if so splits based on == and sets
$real_pkgname to the first part, and $ensure variable to the second part.
Uses of $pkgname have been replaced with $real_pkgname.
This Pull Request (PR) fixes the following issues
Fixes #193

Hi @wolttam, thanks for the PR. Can you add an acceptance test to verify that the bug is fixed? Please also have a look at the failed travis jobs.

I fixed what was causing the existing tests to fail -- missing quotes (oops).
And, I added a new test for this, except, here's a quandary... git (or some other vcs, but git seems to be the appropriate choice) is required for it to run. I'm quite unfamiliar with the test framework in use here, so I'm not sure how to make git available. I'm looking into it, though.

this will install git within the docker environment:
diff --git a/spec/acceptance/virtualenv_spec.rb b/spec/acceptance/virtualenv_spec.rb
index a3520c3..dbcfd6d 100644
--- a/spec/acceptance/virtualenv_spec.rb
+++ b/spec/acceptance/virtualenv_spec.rb
@@ -113,21 +113,22 @@ describe 'python class' do
     end
     it 'works with editable=>true' do
       pp = <<-EOS
-      class { 'python' :
+      package{'git':
+        ensure => 'present',
+      }
+      -> class { 'python' :
         version    => 'system',
         pip        => 'present',
         virtualenv => 'present',
       }
-      ->
-      python::virtualenv { 'venv' :
+      -> python::virtualenv { 'venv' :
         ensure     => 'present',
         systempkgs => false,
         venv_dir   => '/opt/venv5',
         owner      => 'root',
         group      => 'root',
       }
-      ->
-      python::pip { 'rpyc' :
+      -> python::pip { 'rpyc' :
         ensure     => '4.1.0',
         url        => 'git+https://github.com/tomerfiliba/rpyc.git',
         editable   => true,

this will install git within the docker environment (and improves the formatting):
....
Of course! Added that, pushing now.

Thanks for the awesome work!


several errors on train_encoder

Thank you for great work,
I have some problems about train_encoder.py file.

Do we need to give exactly 1 .tfrecords file into the system for training encoder, because when i give multiple files at once (by creating an array of filenames) it says sizes are incompatible.

(tensorflow.python.framework.errors_impl.InvalidArgumentError: Cannot batch tensors with different shapes in component 0. First element had shape [1,32,32] and element 1 had shape [1,4,4].)
I have multiple files because i used dataset_tool.py from original stylegan which creates several numbers of tfrecords files when you use 'create_from_images' command. I tried to merge these tfrecords files into 1 but the error stayed same. When i only use the largest sized tfrecord file incompatible error is gone but it rised the error below and i dont think it is related with dataset:
FailedPreconditionError: Attempting to use uninitialized value learning_rate_step
[[node learning_rate_step/read (defined at /auto/k2/korkmaz/Downloads/idinvert-master/training/training_loop_encoder.py:127) ]]
Full error log:
File "/auto/k2/korkmaz/Downloads/idinvert-master/train_encoder.py", line 65, in
main()
File "/auto/k2/korkmaz/Downloads/idinvert-master/train_encoder.py", line 62, in main
dnnlib.submit_run(**kwargs)
File "/auto/k2/korkmaz/Downloads/idinvert-master/dnnlib/submission/submit.py", line 290, in submit_run
run_wrapper(submit_config)
File "/auto/k2/korkmaz/Downloads/idinvert-master/dnnlib/submission/submit.py", line 242, in run_wrapper
util.call_func_by_name(func_name=submit_config.run_func_name, submit_config=submit_config, **submit_config.run_func_kwargs)
File "/auto/k2/korkmaz/Downloads/idinvert-master/dnnlib/util.py", line 257, in call_func_by_name
return func_obj(*args, **kwargs)
File "/auto/k2/korkmaz/Downloads/idinvert-master/training/training_loop_encoder.py", line 192, in training_loop
, recon, adv_ = sess.run([E_train_op, E_loss_rec, E_loss_adv], feed_dict_1)
File "/auto/k2/korkmaz/Downloads/style_gan/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 950, in run
run_metadata_ptr)
File "/auto/k2/korkmaz/Downloads/style_gan/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1173, in _run
feed_dict_tensor, options, run_metadata)
File "/auto/k2/korkmaz/Downloads/style_gan/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1350, in _do_run
run_metadata)
File "/auto/k2/korkmaz/Downloads/style_gan/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1370, in _do_call
raise type(e)(node_def, op, message)

It seems the train_encoder is implemented for RGB images, but i am using grayscale images and modified several lines whenever it rised errors about differences between shapes.  Is there any option for channel number that i did not see or do i need to modify those lines by myself ?

Thank you in advance.

I was using Python3.5 updating to 3.6 solved the FailedPreconditionError about not initialized variable, but still wondering the other issues, thanks.

Our encoder doesn't have a progressive architecture, so you just need to give one .tfrecords file, which contains all images you want to train the encoder.
Sorry about this, we haven't tested our encoder on grayscale images. I am not sure what kind of errors you met, one way is you could triple the gray channel when you prepare your dataset.


Warehouse assignment improvement

Problem
Right now there is no way to decide for which warehouse the allocation is made.
Requirements
We need a way to allow deciding which warehouse should be used for allocation in the checkout process.
Proposed solution

Allow explicitly picking a warehouse that should be used to allocate stock for a specific checkout line.
Setting explicit warehouse will be allowed to apps with HANDLE_CHECKOUTS permission.

API changes

Add a new warehouse: String / ID  parameter to the CheckoutLinesAdd and CheckoutLinesUpdate - to discuss if the warehouse should require ID, slug or either of them. Restricted to apps with HANDLE_CHECKOUTS permission.
Extend the warehouse query with the slug parameter that will allow query warehouse either by slug or ID.
Adding lines with the same variant but different warehouses results in separate checkout lines.
When the line for variant A and warehouse B is updated with warehouse A, and there is already a line for variant A and warehouse A - we will end up with two the same lines ~the lines will be merged - we will get one line instead of two with summed quantities~

type Query {
  warehouse(
    id: ID
    slug: String
  ): Warehouse
}

input CheckoutLineInput {
  warehouse: ID/String
}

input CheckoutLineUpdateInput {
  warehouse: ID/String
}

Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

I have a concern about checkout level warehouse allocations.
Scenario:
1 Add to bag item with warehouse A
2 During checkout get "No items" in stock
3 Go to PDP and see "Item is in stock"
In my opinion products, and queries should be consistent with checkout when it comes to stock, customers should not be removing and adding the same item to be able to purchase them.
I would suggest adding warehouse assignment API during the order creation.


Create mixin to replace duplicate code

The methods resource_type, creative_type, resource_url and resource_html are defined using 27 lines of code. This code is duplicated in the CompanionCreative, Icon and NonLinearCreative classes.
Since there is no common parent between these three classes where the code can be added, the functionality was moved to a Ruby Mixin. A Mixin can be included in all three classes without disrupting the existing class inheritance.

Icon < Element
Creative < Element

LGTM


Bug with options window

Describe the bug
Hey, your extension is very good and works great but, when I click on the extension to access the options, the menu that comes up is tiny. Like, a rectangle, a few pixels by a few pixels, so I can't edit anything (see screenshot joined).
Expected behavior
I just expected the extension's options window to open properly, without being a few pixel rectangle.
Screenshots

Desktop (please complete the following information):

OS version : Windows 11
Browser : Chrome Dev version : 116.0.5845.14 (Official build) dev (64 bits)
Version of extension : 2.1.5

Hi!
Thanks for letting me know about this bug.
I'll take a look to find out what's going on


Project: Easy to use Multi-sig for Project Management

Project: Easy to use Multi-sig for Project Management
Problem:
Sub contracting relies on too much trust.
User Story:

Payments should go to a multi sig wallet
UX/UI should be easy to use
Devs on contract can be replaced by stakeholder and Project Manager
Funds should be paid out only if deliverables are hit
Payment splitting should be intuitive

Probably use:

UMA KPI options
Some version of Gnosis Safe
NextJS or Simple React for now
Styled Components
Solidity 0.8.13

Uses:
Easy way to bring in deal flow and get paid with ease.
Connect deal flow, project managers and developers


kubeadm: add note in the PublicKeysECDSA feature gate

Add note about that in the PublicKeysECDSA section of the kubeadm init doc.
xref https://github.com/kubernetes/website/issues/46799

/triage duplicate
Duplicate PR of #46855

@SequoiaGod,
It seems you opened 2 PRs( #46855 and #46856 ) with addressing same changes of issue #46799
Just FYI, one PR is enough to address an issue, no need multiple PR to propose the same changes.

@SequoiaGod, It seems you opened 2 PRs( #46855 and #46856 ) with addressing same changes of issue #46799 Just FYI, one PR is enough to address an issue, no need multiple PR to propose the same changes.

Hi @T-Lakshmi,
In the description of https://github.com/kubernetes/website/issues/46799 issue, it seems like I need to create a PR for each dev.26 to dev.29 branch.

@SequoiaGod,
My bad, i just differentiated the branch.
Thanks.
/remove-triage duplicate

My bad, i just now differentiated the branch.
Thanks.

That's not a problem at all. Thank you for your reviewing.


ARM Cortex-M: SysTick: unhandled race condition

It looks like we are not handling properly a possible race condition in ARM Cortex-M SysTick.
The implementation in z_clock_set_timeout() for TICKLESS mode performs the following steps:

Disables interrupts
Calculates SysTick re-load value based on the desired timeout
Re-configures and re-starts the SysTick timer to count-down towards this timeout.
Re-enables interrupts.

If, during steps (1) and (2) the SysTick actually wraps, an event will be triggered and the SysTick interrupt will be pending. As a result, as soon as we re-enable the interrupt, the ISR will be executed immediately; not after the desired timeout.
The event is rare but the impact is significant - we are advancing the clock immediately, when we should have been waited for the timeout.
Root-cause and solution:
Clearing the internal SysTick status flag (CTRL.COUNTFLAG) is not sufficient to clear a pending event; we also need to do it explicitly in ICSR (Clear the PENDSTSET bit).
Reproduce:
I have written a simple HW test case for ARM SysTick (a modified hello-world example) here:
https://github.com/ioannisg/zephyr/tree/drivers_systick_testcase/samples/hello_world
which demonstrates the case.

FYI @andyross @pizi-nordic

FYI @MaureenHelm @galak
This affects tick-less operation in ARM platforms with SysTick as system timer.

For me this issue is a next call for absolute time in kernel. As the timer is running all the time, the software will always be racing with it. So we either get more interrupts than we want or we lost/delay some of them.
And the code should be prepared to deal with such situations.


Include SystemJS Loader in Main

In order to reduce downloads, we should include the SystemJS and its deps in the main download file.

Moved to builder proj


Add helm releaser to publish to gh-pages

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, using fixes #<issue number> format):
Special notes for reviewers:

LGTM @ekarlso - we're reading up on the actions used that aren't familiar:

setup-helm - https://github.com/Azure/setup-helm
chart-release-eraction - https://github.com/helm/chart-releaser-action


Create a new permission system

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

I'll deduplicate this against #1682 which has more details.


mergeDiff endpoint does not return changes to links

Describe the bug
If a new link is added to a data model in one branch, then compared for a merge into another branch, that new link does not appear in the changes list.
To Reproduce
See screenshots below.
Expected behavior
I would have expected a new link to be a change or addition which appears for merging, unless there is a clear reason why it shouldn't be.
Screenshots
This link was added to a branch:

Note that it does not exist in main (the test target branch to merge into):

But when merging the change into main, that new link does not appear in the list:

@jamesrwelch we've never included semantic links in the diffs before, should we be??

nor versionlinks

I guess we probably should... potentially a big change in meaning if a semantic link is removed or changed.

For clarity, we only care about links owned by the current model, not links in other models pointing at us

thats okay as thats the directtion the SLs are owned .... this ticket will have to be a feature added after this week....as its gonna change a lot and require some serious work to make sure links are properly done.


Android autostart

This is an implementation of the auto-start API for Android. It requires linking osvrClientKit to osvrServer, but this is only done for the Android platform.
Requires this libfunctionality PR to be merged: https://github.com/OSVR/libfunctionality/pull/15

I think this looks good, as long as the various consumers of the Android port (Unity CI? others?) are sure to verify that they're including the sufficient dependency libraries (basically that clientkit implies bring the whole family).


Rollback action

Hi,
I think we should add an action for rolling back to the previous version of the app.
The need occurred to us today when we found out that the (enterprise, distributed with S3) release was bad, so we had to quickly roll back.
My thought of doing it for enterprise releases:

We should know what the previous version is with last_git_tag).
Then we can modify app_version.json and index.html in S3 to point to the previous version.

Since I only got to work with enterprise dist released through S3, I'd like to hear your thoughts, is it useful / possible in other distributions? I guess rolling back in an AppStore release can be just to cancel the submission, or re-releasing the app with previous code-base but a newer version.
Thanks

This really sounds super complex and not possible to implement for actual App Store apps

You could perhaps implement this yourself using a script, custom lane or a rake task. I feel this is out of scope fot fastlane

I'm going to close this issue since it has been open for a while without follow up.


Milestone 1: Create Animal Table

Hi Reviewer 👋

Here are the changes I implemented to the project

Used this template to generate your repo.
Created a database named vet_clinic.
Created a table named Animals with the following columns: id: integer, name: string, date_of_birth: date, escape_attempts: integer, neutered: boolean, and weight_kg: decimal
Copied the SQL I used in creating the animal table into the schema.sql file in the generated repository.
Inserted animal details as a row.
Copied the SQL I used in inserting into the data.sql file in the generated repository.
Wrote queries for the different quests.
Copied the SQL I used in writing queries into the queries.sql file in the generated repository.

@MahmoudBakr23 Thank you for reviewing my project. I implemented all of the required changes.


”Sălătrucel”, ”Pătești”, ”Seaca”, ”Șerbănești” are listed in the drop-down menu

Description:
When user writes ”Sălătrucel”, ”Pătești”, ”Seaca”, ”Șerbănești” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Sălătrucel"

Expected results
The location appears in the drop-down menu as "Sat Sălătrucel, VÂLCEA (Sălătrucel)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Pătești"

Expected results
The location appears in the drop-down menu as "Sat Pătești, VÂLCEA (Sălătrucel)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Seaca"

Expected results
The location appears in the drop-down menu as "Sat Seaca, VÂLCEA (Sălătrucel)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Șerbănești"

Expected results
The location appears in the drop-down menu as "Sat Șerbănești, VÂLCEA (Sălătrucel)".


Design issue

Describe the bug
The Enable/Disable plugin toggler and the plugin manager aren't at the same interface in the app's settings. This isn't a very intuitive layout at first.

Fixed