Apply timezone to Timestamp when using bulkcopy for batch insert

Correctly applies the timezone to Timestamps when inserted using batch insert with bulkcopy.
Fixes https://github.com/microsoft/mssql-jdbc/issues/2271

Hi @tkyc
I appreciate you making the changes.
I observed that the fix had the following problems:

Could you kindly have a look at the applyTimezoneTo method, which appears to use
Date date = new Date(**cal**.getTimeInMillis()); rather than Date date = new Date(**ts.getTime()**); }? If you have a time value other than today's time in your unit test, **BatchExecutionTest** for **_testValidTimezoneForTimestampBatchInsertWithBulkCopy_**, it will begin to break. The unit test would have seemed to be successful because the timestamp and calendar will often have the same current time value. However, this unit test would begin to fail if you had a different timestamp value. For example, the unit test failed when I modified the timestamp milliseconds from long ms = Timestamp.valueOf(todayString).getTime();} to long ms =<PHONE_NUMBER>461L;. that leads to the failure.

In the event that the batch insert for bulk copy API falls back to the original batch insert, this fix does not seem to function. An additional conversion occurs when the fallback to no bulk copy API is used, leading to a double conversion for GMT.
To replicate this issue, Use the existing BulkCopyResultSetCursorTest for testMultiplePreparedStatementAndResultSet  unit test method alone. Connection string should have  "useBulkCopyForBatchInsert=true;sendTemporalDataTypesAsStringForBulkCopy=false;".
Because bulk copy does not allow IDENTITY columns, using bulk copy would fail and result in inaccurate database values with fallback.

@PriyadharshiniP Thanks for the feedback. I'll do more investigating and I'll look into correcting the implementation.

May I ask if the changes need to be done at SQLServerBulkCopy ?

That was my initial thought also, but when I looked over SQLServerBulkCopy it doesn't look like I'm able to apply the timezone in the TDS request for bulkcopy.
For example, I sort of expected code like this in SQLServerBulkCopy, which is part of the normal and regular batch insert code path. The code below takes into consideration the the timezone by sending the timezone info in the TDS request. So the timezone is applied during insertion by the server:
                                    tdsWriter.writeEncryptedRPCDateTime2(name,
                                            timestampNormalizedCalendar(calendar, javaType, conn.baseYear()),
                                            subSecondNanos, (valueLength), isOutParam, statement);

But I'm guessing because we're doing a bulkcopy, it has to send the timestamp value as is. And so, either the user or driver needs to apply the timezone conversion beforehand.

BatchExecutionTest

Thanks for fixing the issue.

Additionally, it appears that not all dates—particularly those with daylight savings time—cannot be converted successfully using the applyTimezoneTo method . In your BatchExecutionTest unit test case , if you change the ms to  long ms =<PHONE_NUMBER>000L; that equates to :

GMT: Sunday, October 1, 2023 2:30:00 AM
My local time zone: Sunday, October 1, 2023 1:30:00 PM [GMT+11:00]

This time "GMT: Sunday, October 1, 2023 2:30:00 AM" doesn't exist in my local time zone. The non bulk version correctly inserts the date as 2023-10-01 02:30:00.000 but the bulk version incorrectly inserts as 2023-10-01 03:30:00.000 and the BatchExecutionTest  will fail if we use   ts0 = rs.getTimestamp(1, gmtCal);. and ts1 = rs.getTimestamp(1, gmtCal);
I think this is because of using Timestamp.valueOf or any timestamp related methods that will use only local time for conversions.

As the standard batch insert without bulk copy seems to work in all cases, I started to look re-use the tdsWriter.writeEncryptedRPCDateTime2 in SQLServerBulkCopy itself, however while attempting to fix it, I encounter certain problems.
To store the parameters needed for the writeEncryptedRPCDateTime2 method, I made a new class. Next, update the SQLServerBulkBatchInsertRecord class with those values. Fill in the datetime2 field in SQLServerBulkCopy in accordance with the screenshots below :

However, the following error appears:  java.sql.BatchUpdateException: While reading current row from host, a premature end-of-message was encountered--an incoming data stream was interrupted when the server expected to see more data. The host program may have terminated. Ensure that you are using a supported client application programming interface (API).
Kindly inform me if you can assist with this.

Could you see if we can accomplish something along these lines?

@PriyadharshiniP Thanks for collaborating.

As the standard batch insert without bulk copy seems to work in all cases, I started to look re-use the tdsWriter.writeEncryptedRPCDateTime2 in SQLServerBulkCopy

Yeah, I struggled with getting that working as well when I initially looked at the code. In SQLServerBulkCopy, it seems the only thing written to the TDS request is column metadata info and data type info and it doesn't look like any input values are written eg. the timestamp in our case for batch insert with bulkcopy. When I traced the batch insert bulkcopy call path:
writeToServer -> sendBulkLoadBCP -> ... -> doInsertBulk -> sendBulkCopyCommand

In the above call path, I expected to end up somewhere where the timestamp value is written to the TDS request (something/somewhere where the logic writeEncryptedRPCDateTime2  can be used) but I don't. I'll do some more debugging, maybe I missed some things initially.

Additionally, it appears that not all dates—particularly those with daylight savings time—cannot be converted successfully using the applyTimezoneTo method

Thanks for the help on testing. I'll see what I can do here...

@PriyadharshiniP What's your exact local time zone? I've switched my PC's time zone setting to various different time zones that doesn't have day light savings and wasn't able to repro the issue. I double checked the local time zone used in my JDK and it matches my PC time zone.

My local timezone is Australia/Sydney
On Wed, 17 Jan 2024, 8:11 am Terry Chow, @.***> wrote:

@PriyadharshiniP https://github.com/PriyadharshiniP What's your exact
local time zone? I've switched my PC's time zone setting to various
different time zones that doesn't have day light savings and wasn't able to
repro the issue. I double checked the local time zone used in my JDK and it
matches my PC time zone.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/mssql-jdbc/pull/2291#issuecomment-1894518846,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABXI4WXKWWK5KQJQM6BSDXLYO3UHDAVCNFSM6AAAAABBVM2HUSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJUGUYTQOBUGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

@PriyadharshiniP What's your exact local time zone? I've switched my PC's time zone setting to various different time zones that doesn't have day light savings and wasn't able to repro the issue with<PHONE_NUMBER>000L. I double checked the local time zone used in my JDK and it matches the PC time zone set when I was experimenting.
Maybe I need to do something like below explicitly to repro your issue?
TimeZone tz = TimeZone.getTimeZone("your-time-zone");
TimeZone.setDefault(tz);

I guess you could do something like this in your unit test  :System.setProperty("user.timezone","Australia/Sydney");

@PriyadharshiniP I've just pushed a new fix implementation. I did some testing of it and it seem to have addressed all your concerns so far. Let me know if there's any additional problems. Thanks again for the collab.

@PriyadharshiniP I've just pushed a new fix implementation. I did some testing of it and it seem to have addressed all your concerns so far. Let me know if there's any additional problems. Thanks again for the collab.

Hi @tkyc
Thanks for fixing it so quickly .
I checked all dates this year in my local time zone, and it seems that there will still be problems with the bulk copy inserting the date in my local environment around spring forward dates. The time stamp millisecond values are<PHONE_NUMBER>000L and<PHONE_NUMBER>000L, to be more precise.
Noted the use of java.sql.Timestamp.valueOf(colValue.toString()) in SQLServerBulkCopy, this seems to be the cause of this issue as it seems to alter the timestamp milliseconds value. Using the (Timestamp)colValue seems to work for all dates. Could you please check and fix this as well?

@PriyadharshiniP Oops, my mistake. Calling valueOf will cause a conversion. Fixed.

@PriyadharshiniP Oops, my mistake. Calling valueOf will cause a conversion. Fixed.

Thanks @tkyc :
It seems to be fine for my tests.
Please let me  know when the release would be available ?
Regards

@PriyadharshiniP this will make it in the release that's on the 31st of this month.


How to filter by display value instead of actual value?

I have a gender column in my grid and its actual value is a integer and it gets transformed into strings such as Male, Female etc... Filtering won't work if I try to filter it by the text, filtering by actual integer value works fine.
How can I filter it by the text that is displayed rather than the value behind the text?
Here is the Plunker http://plnkr.co/edit/JgjKWsVWCV7v4hA8mak3?p=preview
Thank you.

You can't filter without using a custom filter widget.  I'd recommend using the dropdown widget, which is shown in the http://ui-grid.info/docs/#/tutorial/306_custom_filters tutorial (for gender in fact).

Thanks @PaulL1

Dropdowns are fine (although require some work if you want them translated and dynamic - pick only the values that exist in the data). But a full-text search on the values would also be really nice.
Could I suggest, that UI Grid adds the translated value to a helper column and uses it for standard text filtering, instead of the actual value?


Support configuring a yum proxy server

This pull request adds a new parameter yum_proxy to init.pp. It's used in repo/el.pp to configure the jenkins yum repository with a proxy server.
This allows installing jenkins via yum behind a proxy server.

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests


Fix: Remove the close button from the screen

Description
The close button is not working is the "Warn others" screen.
UPDATE: in the comments it was stated that the updated design in figma doesn't have the button so it should be removed from the app as well.
Link to Jira
https://jira-ibs.wbs.net.sap/browse/EXPOSUREAPP-4181
Screenshot

But you still can pull it down to close the screen?

@KaiTeuber no you have to go back to dismiss by pull-down, but that is the expected behavior right ?

but that is the expected behavior right ?
I don't know. But after the change you still can pull the screen down and viewmodel.dissmis() is called - I think

There is a hack in ExposureSubmissionTestResultConsentViewModel that makes this change also change the text. See line 63-70.

@whiskey Maybe you can help out here? :)


Custom Theme Variables

The #600 PR changed how themes work, mostly for the better. However, it does lose the ability to declare a variable, ex background and then use that as the value for various parts of the UI. I think it would be likely useful to reintroduce this, and show it in the UI so that theme-authors can have variables that let the user customize a good portion of the UI (and if the user wants something other than the variable, they just change it).

Good point. It's kind of hard coded for the "base" color names right now. We could use a HashMap for it.

this is incredibly valuable for implementing theme palettes, such as rosé pine, catppuccin and nord and maintain their continuing support since updating them will be easier.


The Submit and Approve button for SLC proposals is broken

The button just greys out and throws a JavaScript error when trying to submit:

 Fix Submit and approve for service learning course

Closed in PR #1174


sails-mongo not installing

When adding mongodb from studio, my local machine is stuck at installing for many minutes.
Then tried:  npm install sails-mongo
And got following:
npm WARN locking Error: EACCES, open '/Users/ScorchsoftMini1/.npm/_locks/sails-mongo-de0dd77859cbb7e5.lock'
npm WARN locking     at Error (native)
npm WARN locking  /Users/ScorchsoftMini1/.npm/_locks/sails-mongo-de0dd77859cbb7e5.lock failed { [Error: EACCES, open '/Users/ScorchsoftMini1/.npm/_locks/sails-mongo-de0dd77859cbb7e5.lock']
npm WARN locking   errno: -13,
npm WARN locking   code: 'EACCES',
npm WARN locking   path: '/Users/ScorchsoftMini1/.npm/_locks/sails-mongo-de0dd77859cbb7e5.lock' }
npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "sails-mongo"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3

npm ERR! Attempt to unlock /Users/ScorchsoftMini1/Sites/test/strapiApp/node_modules/sails-mongo, which hasn't been locked
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/ScorchsoftMini1/Sites/test/strapiApp/npm-debug.log

tried to run strapi using sudo and I can see sails-mongo is in node_modules

Hi @perminder-klair. Unfortunately, this is not an issue on our side but an issue with the sails-mongo node module. There is nothing we can do here... Sorry.


Ignore poetry.lock in git

Description
Add poetry.lock to .gitignore, because poetry.lock is different on the individual device depending on the poetry version.
References
This PR is the preceding work of #32.

Thanks for the PR
Poetry version compatibility is not the only reason why we should remove poetry.lock in VCS. As explained in this docs, another reason why lock file can be ignored is to ease debugging dependency problems.


Question: Do we allow run specific tag?

Hi,
I tried to clone the playwright-bdd-example and add some tags on the sample feature. Then using command npx playwright test -g "@fast" it gives me Error: No tests found

Hi @zmimi-lael
In the current playwright-bdd version (6.0.3) you can run specific tags with the following syntax:
npx bddgen --tags "@fast" && npx playwright test

See details here.
In the nearest release there is an upcoming support for the new syntax of Playwright tags #98.
After that we will be able to run either:
npx bddgen --tags "@fast" && npx playwright test
# or
npx bddgen && npx playwright test -g "@fast"


"lean encrypt" does not work with Chinese comment

lean encrypt xxxxx --key "D:\Backup\quantconnect_encryt.txt"
Error: Could not encrypt project D:\Work\QuantConnect\xstrategy: Failed to encrypt file
D:\Work\QuantConnect\xxxxx\base.py with error 'gbk' codec can't decode byte 0xa1 in position 523: illegal
multibyte sequence
lean encrypt does not work with Chinese comment. "position 523" is the first Chinese character in this file with UTF8 encoding.

Hey @pizikuan !
Could you please share a file with the portion of base.py that has the characters producing this exception? So far we've been able to reproduce a similar but not the same exception, namely:  charmap' codec can't decode byte 0x8d in position 78: character maps to <undefined>. It would be also useful if you could share with us the logs when you run that same command with --verbose

import json
import logging
import sys
class MyConfig:
DEBUG = True  # 调试模式，会打印出更多的log

Hey @pizikuan !
I tested in my local (using the latest version of lean-cli) the encrypt command with a file containing that portion of code you provided and it worked (both encrypt and decrypt, using both UTF-8 and GB2312 encodings). Could you please retry encrypting the project that was failing using the latest version of lean-cli?

It works，thank you.在 2024年9月9日，22:00，Ricardo Andrés Marino Rojas @.***> 写道：
Hey @pizikuan !
I tested in my local (using the latest version of lean-cli) the encrypt command with a file containing that portion of code you provided and it worked (both encrypt and decrypt, using both UTF-8 and GB2312 encodings). Could you please retry encrypting the project that was failing using the latest version of lean-cli?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


A windows installer for CLI

The installer is the Gorilla-CLI.exe in the dist_exe folder. The scripts that are used to generate the installer are also attached in the dist_exe/scripts folder.

Hey @HuanzhiMao I finally got access to a Windows Machine and tested this by just installing the exe. I don't think this works. I get a "Welcome to the App" and a next window message that says the app closed. Can you a) Test it on a windows machine, b) Maybe describe the setup-process if it's not a simple install the exe, c) The app has an alert of "unknown" publisher. What's a good way to fix that? Can we have either the Sky/BAIR labs or Gorilla as a publisher depending on what you think is the quickest route?

I did test it on Windows (cause I'm using windows desktop). You should give it admin access if you install for all user.

And after that, you should be able to install by just hit "next"; you can change some settings, but it's not a must.

Regarding "unknown" publisher, I can change it in the script. It should be easy to fix.


Cannot hide key in Cache-Status response header

Hi @darkweak
I'm testing souin v1.6.38 with traefik 2.9.10 today, I have config like this:
experimental:
  localPlugins:
    caching:
      moduleName: github.com/darkweak/souin
----------------
http:
  middlewares:
    http-cache:
      plugin:
        caching:
          default_cache:
            ttl: 5m
            default_cache_control: no-store
            key:
              disable_body: true
              disable_host: false
              disable_method: false
              disable_query: true
              hide: true
          log_level: debug

  routers:
    whoami-cache:
      entryPoints:
        - "web"
      rule: "Host(`whoami.example.com`) && PathPrefix(`/cache`)"
      service: whoami
      middlewares:
        - http-cache

  services:
    whoami:
      loadBalancer:
        servers:
          - url: "http://whoami/"

I got:
*   Trying <IP_ADDRESS>:8080...
> GET /cache HTTP/1.1
> Host: whoami.example.com
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Age: 1
< Cache-Status: Souin; hit; ttl=299; key=GET-http-whoami.example.com-/cache
< Content-Length: 469
< Content-Type: text/plain; charset=utf-8
< Date: Wed, 14 Jun 2023 06:46:07 GMT
< Vary: Accept-Encoding

Caching is working, which is great! But seems like hide: true is not working, any ideas?
And are we able to have simple cache status header something like:
X-Cache-Status: HIT[MISS|...]

Thanks.

Hey @yongzhang thank you for your feedback. I investigated about your issue and the traffic configuration parser is not equal to the actual configuration https://github.com/darkweak/souin/blob/master/plugins/traefik/main.go#L74. The default_cache doesn't try to parse neither the key nor the cache_keys keys. If you have some time to write a fix (just add some cases to the existing code) or can wait few days (because I'm a bit busy now) I could write the fix.

Hey @yongzhang thank you for your feedback. I investigated about your issue and the traffic configuration parser is not equal to the actual configuration https://github.com/darkweak/souin/blob/master/plugins/traefik/main.go#L74. The default_cache doesn't try to parse neither the key nor the cache_keys keys. If you have some time to write a fix (just add some cases to the existing code) or can wait few days (because I'm a bit busy now) I could write the fix.

ahh... yea I can try with a fix, if I can't complete this then I'll ping you again here 😄

@darkweak After looking into the code, I'm a bit confused that, in this place:
https://github.com/darkweak/souin/blob/master/plugins/traefik/main.go#L22-L28
Why it returns TestConfiguration? Why not just use Configuration so traefik will parse input automatically?


Storm should extract resources dir in local mode when appropriate

The tricky thing is that it may or may not be within a jar. Perhaps it can detect what to do by looking for a "!" in the URL.

I am getting bit with this issue when trying to run in local mode using TestNG in IntelliJ. In my case the URL that the classloader is giving is
So, we definitely ran into a bug. It's even logged already at https://github.com/nathanmarz/storm/issues/82
The problem is that in local mode the supervisor is looking for a resource on the classpath called "resources" by calling Classloader.getResource("resources"). When it's running inside TestNG the path that it is getting back is inside the testng.jar file. You can see what it is returning here:
2012-01-14 16:41:30,492 INFO [Thread-7|] backtype.storm.daemon.supervisor
=> Copying resources at jar:file:/home/davek/apps/idea-IU-111.69/plugins/testng/lib/testng.jar!/resources to /tmp/c1cf3874-ddf6-4885-8690-439162a98c66/supervisor/stormdist/testETL-1-1326580890/resources
so it looks like the URL has a "jar:" at the front of it. We should be able to use that to determine if we need to extract it from the jar. Do you know of a library out there that would make it easy to extract the resources from the jar? Otherwise we'll need to extract ourselves.

Thanks, Nathan. I tried it out this morning and that works perfectly for me too. It's a much nicer implementation than mine too.

It still fails, sorry to say, on Windows. The issue needs to be re-opened. I think it gets tripped when splitting on ':'.

If you change
(->> (.split (current-classpath) ":")
to
(->> (.split (current-classpath) (File/pathSeparator))
it should fix it.


ViT hyper parameters for pretrained

Hi, thanks for you job.
I try to train vit-b-32 on imagenet1k with supervised label, but it looks like the weight-decay it too high(=0.3) from paper setting, and the loss keep 6+ without decreasing.
After I set weight-decay to 0.0001, the loss go down a bit, but I'm not sure it will continue decreasing.
It looks like you have successfully trained vit-small and vit-base, could you share the training code or hyper parameters?
Thanks.

@yangydeng Hi, I have encountered the same problem. Have you already figured it out? Many thanks.


Coin flip messages cannot be deleted

Hi there,
I was playing with the /flip coin feature in my chat-to-myself channel. I can't delete the flips. I can, however, set flip messages to explode.
I've also tried it in chat with someone else. Again, I wasn't able to delete the messages but exploding them does work.
The feature would be better with deletion, I feel. Not only could I then use the flips for secure generation but I could also clean up my messages!
Regards,
iain
PS Merry Christmas to all at Keybase

This will be possible in the next release, fixed via #22693


Swap properties name and in of path properties

Apply the proposal described here to all properties listed in path files.

No longer required


Using discovery 1.0

Let's wait for the react adapter then merge this.

The react client is updated. Builds are passing

I know, but I want to update the meta files.

That is not a blocker for this PR. Let's merge this now.


Select seems still sluggish with large number of items, and does not work with multiselect=True

I have updated dara-core and dara-components

Updating dara-core (1.8.6 -> 1.9.4)
Updating dara-components (1.8.6 -> 1.9.4)

In windows, I get this with multiselect=True

and In M3 Chip MacOS，Select with large number of items still very sluggish. But the multiselect worked fine.
            Select(
                items=[Item(label=f'label{i}',value=f'value{i}') for i in range(11000)],
                searchable=True, multiselect=True,
            )

Hi @signup2k,
Would you be able to let us know which browser you are using on Windows? Also could you share with us the error message you encountered, if you could open your developer tools and select the console tab, does it show any error messages?
These would help us to pin point the issue more easily. Thank you for bringing it to our attention!

Thanks for ur quickly replying @patricia-causalens
I use chrome in Windows, and Arc in MacOS
The Select failing rendering with multiselect=True in windows Chrome Console

Hey @signup2k. Thanks a lot for reporting the issues. Both should be fixed in the next release.
As part of that effort, the performance of not only Multiselect, but all other list-like components was increased significantly so they don't re-render unnecessarily.
Your feedback really helped us make these improvements for handling larger datasets.
Thanks again for your help!

@signup2k Dara version 1.9.5 is now released to address these issues. Let me know if it worked for you or if there are any issues encounered.
Thanks again!


Add support for BASE chain

BASE chain is gaining popularity this year. It is Coinbase’s L2 Network built upon OP Stack. It has very high DEX volume and TVL:
https://l2beat.com/scaling/tvl
https://www.geckoterminal.com/chain-rankings

@web3dev2023 thanks. Released 0.8.13


Clickhousekeeperinstallation dont have dedicated data volume (PVC)

Clickhousekeeperinstallation dont have dedicated data volume (PVC) and it uses Overlay volume when pod rotated It lost the clickhouse metadata. Is there a particular reason for running the clickhousekeeper pods without dedicated volumes?

Error:
last_error_message: Table is in readonly mode since table metadata was not found in zookeeper:

Hi! Try to add dataVolumeClaimTemplate: default:
...
  defaults:
    templates:
      # Templates are specified as default for all clusters
      podTemplate: default
+     dataVolumeClaimTemplate: default

  templates:
    podTemplates:
...

@bakavets  Got below response. my operator chart version is 0.23.7
Error from server (BadRequest): error when creating "chk.yaml": ClickHouseKeeperInstallation in version "v1" cannot be handled as a ClickHouseKeeperInstallation: strict decoding error: unknown field "spec.defaults"

@meektechie upgrade your CRDS separatelly if you use helm, and upgrade operator helm chart to 0.24.0
  kubectl apply -f https://github.com/Altinity/clickhouse-operator/raw/master/deploy/helm/clickhouse-operator/crds/CustomResourceDefinition-clickhouseinstallations.clickhouse.altinity.com.yaml
  kubectl apply -f https://github.com/Altinity/clickhouse-operator/raw/master/deploy/helm/clickhouse-operator/crds/CustomResourceDefinition-clickhouseinstallationtemplates.clickhouse.altinity.com.yaml
  kubectl apply -f https://github.com/Altinity/clickhouse-operator/raw/master/deploy/helm/clickhouse-operator/crds/CustomResourceDefinition-clickhouseoperatorconfigurations.clickhouse.altinity.com.yaml
  kubectl apply -f https://github.com/Altinity/clickhouse-operator/raw/master/deploy/helm/clickhouse-operator/crds/CustomResourceDefinition-clickhousekeeperinstallations.clickhouse-keeper.altinity.com.yaml

DO NOT use CHK with operator 0.23.7. It was experimental in that release (as stated in release notes). The GA support is in 0.24.x, and it is not-compatible with a previous version. See migration guide, it is not trivial to migrate: https://github.com/Altinity/clickhouse-operator/blob/master/docs/keeper_migration_from_23_to_24.md

@meektechie did you try
apiVersion: v1
kind: Secret
metadata:
  name: my-registry-secret
type: kubernetes.io/dockerconfigjson
stringData:
  .dockerconfigjson: |
    {
      "auths": {
        "<registry-url>": {
          "username": "<your-username>",
          "password": "<your-password>",
          "email": "<your-email>",
          "auth": "<base64-encoded-credentials>"
        }
      }
    }

---
apiVersion: clickhouse.altinity.com/v1
kind: ClickHouseKeeperInstallation
meta:
 name: custom-image
spec:
  defaults:
    templates:
      podTemplate: private-image
  templates:
    podTemplates:
    - name: private-image
      spec:
        imagePullSecrets:
        - name: image-pull-secret
        containers:
        - name: clickhouse
          image: you-registry/repo/clickhouse-server:tag

?

@Slach This is my pod template, with 0.23.7 it was working perfectly but with 0.24.0 it is not working. I went through the CRD but with the CRD also not there,
    podTemplates:
    - metadata:
        creationTimestamp: null
      name: default
      spec:
        containers:
        - image: pvt/clickhouse-keeper:<IP_ADDRESS>-alpine
          imagePullPolicy: IfNotPresent
          name: clickhouse-keeper
          resources:
            limits:
              cpu: 500m
              memory: 1Gi
            requests:
              cpu: 200m
              memory: 501Mi
        imagePullSecrets:
        - name: dockerhub
      ------

From STS generated by clickhousekeeprinstallation
spec:
containers:
- env:
- name: CLICKHOUSE_DATA_DIR
value: /var/lib/clickhouse-keeper
image: clickhouse/clickhouse-keeper:latest
imagePullPolicy: Always

@meektechie try 0.24.1, i checked manifest and got
  imagePullSecrets:
  - name: image-pull-secret

as expected

@meektechie
git checkout https://github.com/Altinity/clickhouse-operator.git
cd clickhouse-operator
git fetch
git checkout 0.24.1
helm install -n <your-namespace> <your-release-name> ./deploy/helm/clickhouse-operator/

@Slach Thanks for the immediate response. Let me check & update here

@Slach  I have deployed 0.24.1, but still the clickhouse-keeper pods gets "clickhouse/clickhouse-keeper:latest" image. Below the configuration for "chk" and the STS generated through the CR "chk".
kubectl -n ch get chk clickhouse-keeper -o yaml | grep image
    - image: mypvtrepo/clickhouse-keeper:<IP_ADDRESS>-alpine
      imagePullPolicy: IfNotPresent

kubectl  -n ch get sts chk-clickhouse-keeper-keeper-0-0 -o yaml | grep image
image: clickhouse/clickhouse-keeper:latest
imagePullPolicy: Always
chk.yaml
apiVersion: clickhouse-keeper.altinity.com/v1 kind: ClickHouseKeeperInstallation   name: clickhouse-keeper spec:   configuration:     clusters:     - layout:         replicasCount: 3       name: keeper     settings:       keeper_server/coordination_settings/raft_logs_level: information       keeper_server/four_letter_word_white_list: '*'       keeper_server/raft_configuration/server/port: "9444"       keeper_server/storage_path: /var/lib/clickhouse-keeper       keeper_server/tcp_port: "2181"       listen_host: <IP_ADDRESS>       logger/console: "true"       logger/level: trace       prometheus/asynchronous_metrics: "true"       prometheus/endpoint: /metrics       prometheus/events: "true"       prometheus/metrics: "true"       prometheus/port: "7000"       prometheus/status_info: "false"   defaults:     templates:       dataVolumeClaimTemplate: data-volume   templates:     podTemplates:     - name: default       spec:         containers:         - image: mypvtrepo/clickhouse-keeper:<IP_ADDRESS>-alpine           imagePullPolicy: IfNotPresent           name: clickhouse-keeper           resources:             limits:               cpu: 500m               memory: 1Gi             requests:               cpu: 200m               memory: 501Mi         imagePullSecrets:         - name: dockerhub     volumeClaimTemplates:     - name: data-volume       reclaimPolicy: Retain       spec:         accessModes:         - ReadWriteOnce         resources:           requests:             storage: 10Gi         storageClassName: gp3


Packages with empty Depends field break apt-get update

Given a package with an empty Depends field, aptly will ingest and publish this package which breaks the repo so that apt-get update fails.
See: https://gist.github.com/shanegibbs/70f5b6bf2bac429b543e
It should be noted that you can still install the package manually with dpkg -i.
# aptly version
aptly version: 0.9.5

# apt-get --version
apt 1.0.1ubuntu2 for amd64 compiled on Oct 28 2014 20:55:14
Supported modules:
*Ver: Standard .deb
*Pkg:  Debian dpkg interface (Priority 30)
 Pkg:  Debian APT solver interface (Priority -1000)
 S.L: 'deb' Standard Debian binary tree
 S.L: 'deb-src' Standard Debian source tree
 Idx: Debian Source Index
 Idx: Debian Package Index
 Idx: Debian Translation Index
 Idx: Debian dpkg status file
 Idx: EDSP scenario file

# dpkg --version
Debian `dpkg' package management program version 1.17.5 (amd64).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.

@shanegibbs  I've fixed issue in a different way.

@smira excellent. thanks you!!


feat: model events

feat(nodes): emit model loading events

remove dependency on having access to a node during emits, would need a bit of additional args passed through the system and I don't think its necessary at this point. this also allowed us to drop an extraneous fetching/parsing of the session from db.
provide the invocation context to all get_model() calls, so the events are able to be emitted
test all model loading events in the app and confirm socket events are received

feat(ui): add listeners for model load events

currently only exposed as DEBUG-level logs

Once we decide how to expose these events to the user I'll add them. There's the little status indicator dot at top right that shows status text on hover.
One idea is to set a timer on any of the "started" type events, then if it's been 3 seconds and no further events received, force-show that little status text until the next event is received.

Logs to the browser console, you'd need to rebuild the ui to see the messages

Logs to the browser console, you'd need to rebuild the ui to see the messages

yarn dev should be sufficient, shouldn't it? Im still not seeing the model load events in the browser console.

@lstein
Ahh, I missed about half of the get_model() calls, specifically compel & inpaint.
Fixed that and made the socket event timestamps display millisecond precision. You should see something like this in the browser console (I've filtered the log with "model load"):


Replace starchart.cc with star-history.com

There was some sort of rate limit issue, this one looks better too.

"looks better" is subjective. I think it looks like hot garbage

well at least it doesn't render rate limiting errors

although yes I've seen that a couple times, that's a better argument

Do you wanna merge this or close it as not planned or idk anything

probably close, as star-history also will err on too many requests.


Add Flickr source for Katmai National Park and new homepage images set

Problem

Katmai National Park uploads PDM images of bears, notably during the famous Fat Bear Week.
https://www.flickr.com/photos/katmainps/
Description

These are high quality photos of bears, plus also something that a lot of people are aware of and might look for. I don't think we could legally make explicit reference to fat bear week, but adding Katmai as a source, would be fun... and we could add a homepage image carousel of bears from Katmai during/around Fat Bear Week (again, without explicit mention of fat bear week).

[x] Add Katmai NPS as source to Flickr ingestion
[x] Backfill Katmai NPS as source for works we've already ingested (batched update kicked off)
[x] Add Katmai NPS as source to production API (needs to be manually done in Django Admin)
[ ] Add the Katmai homepage image set (includes identifying the images to use, partially complete)

We were missing some really great images from Katmai due to the original licence being all-rights-reserved. That caused them to be skipped when we ingested the relevant time period.
To at least have last year's fat bear week photos available, I manually reingested Katmai NPS from September 1 to December 1, 2023, using these query parameters in the flickr workflow:
{
        "max_upload_date":<PHONE_NUMBER>,
        "min_upload_date":<PHONE_NUMBER>,
        "user_id": "99350217@N03"
}

That ingested 122 PDM images from last year's Fat Bear Week and the surrounding months.
Afterwards, I initiated a batched update to backfill Katmai NPS as the source for images from that Flickr creator. That is still runnnig and will probably take at least 90 minutes (based on the time other smaller batched updates have taken recently).
In the meantime, I've gone ahead and found a handful of images from Katmai NPS that we already have in Openverse, that might be good candidates for the homepage images. We need 12 total.

Bear tracks, with human hands for size comparison: https://openverse.org/image/670130cc-e761-41e4-9436-1488f7254d57
Cute photo of a fox: https://openverse.org/image/85f309a9-e844-4616-9e30-d5a9bab74bf6
2022 Fat Bear Week champion: https://openverse.org/image/9f117d7c-2f26-4ab3-ae82-42ceae94b7af
NPS employees monitoring wolves: https://openverse.org/image/770f9136-0861-4ac7-83a8-9417c76935b6
Another cute fox, this time peaking from behind a rock: https://openverse.org/image/cc4a9a03-7d81-4ee9-97ad-544eac11b33d

There are a lot of really good images from last year that we should have available after this coming week's data refresh is complete. For example, these are all from October 2023:

Holly eating clay: https://www.flickr.com/photos/katmainps/53230450000/
Bear scratching an itch: https://www.flickr.com/photos/katmainps/53290888528/
Extremely floofy subadult bear on a hike: https://www.flickr.com/photos/katmainps/53291014449/
A very fat bear in front of a seaplane: https://www.flickr.com/photos/katmainps/53230325929/
A bear with a fish in its mouth: https://www.flickr.com/photos/katmainps/53291110915/
Ground squirrel: https://www.flickr.com/photos/katmainps/53290889118/
Two cubs cuddling: https://www.flickr.com/photos/katmainps/53291013489/

Given a shift in priorities and the fact that the week of the event has already passed, we consider this ticket done. Thanks for driving this effort, @sarayourfriend. It'd be fun to get to try it next year!


NEXT-19250 fix dashboard not showing correct order sum

1. Why is this change necessary?
Dashboard Statistiks never show any order sums since the association for paid is missing
2. What does this change do, exactly?
Use technicalName instead of name since name needs the state_machine_translation table, also the translated value might not actually be equal to "paid", thus we should use the technicalName field directly
3. Describe each step to reproduce the issue or behaviour.
Look at Dashboard for order sums in admin, it will always show 0€
4. Please link to the relevant issues (if any).
https://issues.shopware.com/issues/NEXT-19250
5. Checklist

[ ] I have written tests and verified that they fail without my change
[ ] I have squashed any insignificant commits
[ ] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Daniela Pütz seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Hey @PuetzD thank you for your contribution! :blue_heart: :tada:
In order to be able to accept your changes you need to accept the Contributor License Agreement.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-19604
Please use this issue to track the state of your pull request.

Removing the scheduled label because the signing of the CLA is still missing.

Hey @PuetzD thank you for your contribution! We've merged your changes. :blue_heart: :tada:


Istio Ingress and Redirects

As far as I understood istio is not only a service to service mesh, but can also handle ingress traffic via it's ingress controller.
So, should we use istio for ingress traffic routing?  (And if the answer ist yes:)
How are we supposed to redirect all http traffic to https traffic, given the following example:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: secured-ingress
  annotations:
    kubernetes.io/ingress.class: istio
spec:
  tls:
    - secretName: ingress-secret
  rules:
  - http:
      paths:
      - path: /ip
        backend:
          serviceName: httpbin
          servicePort: 8000
      - path: /headers
        backend:
          serviceName: httpbin
          servicePort: 8000
      - path: /delay/.*
        backend:
          serviceName: httpbin
          servicePort: 8000

This seems like a question for the mailing list, not a bug or feature request. Can you please post your question to https://groups.google.com/forum/#!forum/istio-users and also clarify your question? Why do you think you need to "redirect all http traffic to https"?


Upgrade to 1.15

Plugin updated to 1.15
Signed-off-by: Thomas Windt

Hi @WOLFI3654, thanks so much for spending time on this old plugin! At the moment I haven't tried to build your branch yet, but I saw that you changed the version strings for Crafter and BusyInv in pom.xml. Are there any updates to those libraries too?

I think I changed a few references that broke because of the 1.13
renamings. Maybe you want to revisit the version numbers of the other
projects because I just arbitrarily incremented them. I tried it myself and
my local version is working but I might have one recent change not
committed that is important. I only noticed it after submitting the pull
request. Apologies for this 😅
I'll check tomorrow. Maybe you can tell me how you want the version numbers
to be incremented and I can supply you with the updated dependencies aswell

Hi @WOLFI3654, my sincere apologies that I've forgotten this among other things for so long. I think I'll have some time recently to handle this and are you still available to provide the dependency updates? As for the versioning, I think we can just follow semver. If you don't have the time, etc., that's okay too :) I can probably pick up from where you're at in this PR. Thank you again for your contribution!


:bug: Custom message fix.

Fixed the bug / typo in the custom error message area of the code.

Thanks! I didn't notice that one.

Glad to help. Thanks!


Update setup-auditlog.md

Small typo in the name of the flow, updated that.

@manuelap-msft Can you please review/approve this change?


19518889 fix new api to work with order

Had to modify the submission steps to properly create order/submission.
Need to have order and submission IO models.
Allow belongs_to association to have :through specified.
Needed has_many :submissions, :through => :orders on Project
Removed project/study from Request I/O & endpoints.
Removed project/study from includes in various places.
Moved QuotaException into a sensible place.
Different behaviour for quota checking means different scenarios.
Asset group names come from the order UUID now.
Removed numericality check off read_length due to a Rails issue.
Seems Rails only adds one error per field on an association, so having
the numericality validation on read_length means that you only ever see
it, and not the inclusion error that might be present.  It doesn't make
sense to validate the numericality, given that the list itself is
numeric.

Merge against rebased version


Upgraded from 2.x to 4.x, missing length

Hey friends,
I've just upgraded from 2.x to 4.x and now my buffers are missing length property... is that expected? What's the alternative I should be using?

This property has been renamed to limit with 3.X.

Thanks for pointing that out. Curious if they can be used interchangeably?
It doesn't feel like the same thing at first glance.
On Fri, Aug 7, 2015, 17:36 Daniel Wirtz<EMAIL_ADDRESS>wrote:

This property has been renamed to limit with 3.X.
—
Reply to this email directly or view it on GitHub
https://github.com/dcodeIO/ByteBuffer.js/issues/57#issuecomment-128870569
.

length implies the underlying buffer is of that length, which it isn't necessarily. limit is more accurate as it is the largest index at which the ByteBuffer will read to.


Download pdf file from JAX-RS web service

Hi!, I'm new in Angular and Restangular, when I write this path ( http://localhost:8080/project/webapi/entity/{id}/document ) on my browser I can access to my Restful api and get a PDF file and download it if I do this:
`

Download
`
I want to download the file with a Restangular method like Restangular.one("url").get();
I would like you to help me, thank you and excuse my little experience.

Please provide code examples of what you have done or log from developers console. This error typically is not related to angular but to the configuration problem (CORS)


Powershell ExecutionPolicy Unrestricted blocked by antivirus

Agent Version and Platform
Not related to specific version
Windows
Azure DevOps Type and Version
dev.azure.com Azure DevOps Services (cloud)
What's not working?
The execution of the agent is blocked by the McAfee antivirus because the agent runs powershell scripts with the -ExecutionPolicy Unrestricted.
See example here:
https://github.com/microsoft/azure-pipelines-agent/blob/master/src/Microsoft.VisualStudio.Services.Agent/Capabilities/PowerShellCapabilitiesProvider.cs#L28
string scriptFile = Path.Combine(HostContext.GetDirectory(WellKnownDirectory.Bin), "powershell", "Add-Capabilities.ps1").Replace("'", "''");
ArgUtil.File(scriptFile, nameof(scriptFile));
string arguments = $@"-NoLogo -Sta -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command "". '{scriptFile}'""";

What can be the reason to use Unrestricted and not something else like RemoteSigned, considering that the PS scripts are signed when the agent is released?
Thank you

Adding @khkbc to the issue.
You can subscribe on the right pane to get the notifications.

PR was merged.


Support do-while control structure

Fixed by https://github.com/danielsun1106/groovy-parser/commit/148e0f5a6f49a5f42b4f9415f810ce395a3ec123


Maven Plugin Feature (and some other features).

Hey Rob,
Massive fan and like all your libraries.
I have been making a code generator (aka annotation processors) version of Spring's Petclinic to highlight various annotation processor libraries such as yours.
I wanted to use our own in-house config framework but I don't have the time to make it open source and accidentally stumbled on yours which has a similar initialization and design as mine. Mine has a  general URI SPI mechanism, more filtering options, and the Config part is separated from the Key Value loading. There is also an annotation processor to map config to objects. It is probably massively over designed :).
Anyway here are some missing features I miss.
Feel free to let me know if anything is out of scope or not worthwhile or you want separate bugs filed for each.
Maven Plugin
One of the major features I'm missing is our config framework has a maven plugin very
much analogous to the codehaus maven properties plugin.
<plugin>
 <groupId>com.snaphop</groupId>
 <artifactId>snaphop-config-maven-plugin</artifactId>
 <executions>
   <execution>
     <phase>initialize</phase>
     <goals>
       <goal>read-config</goal>
     </goals>
     <configuration>
       <urls>
         <url>file:///${project.basedir}/src/main/resources/db/database.properties</url>
       </urls>
       <!-- finds all properties with prefix and removes it -->
       <propertiesKeyPrefix>database.</propertiesKeyPrefix>
       <!-- prefix the found properties -->
       <pomKeyPrefix>my_project.database.</pomKeyPrefix>
     </configuration>
   </execution>
 </executions>
</plugin>
<!-- now use the properties for other plugins like jOOQ or Flyway -->

I think I can trivially port our maven plugin and we could add it as a module to avaje-config (well not yet as avaje-config is not multimodule but that would be easy to fix). If you are interested I could do a PR.
More configurable initialization
On the one hand I mostly like the current opinionated behavior for simplicity on the other hand it is not exactly the canonical behavior I want. For example I prefer ~/.config/application instead of ~/.localdev. Besides the config source SPI I think a worthwhile add on would be an SPI to provide your own initialization.
Annotation processor for config objects
Another thing our config framework has is a general purpose flat mapping of key values to objects.
@ConfigBean
public interface MyClientConfig {
  public String username();
  public int port();
}

What happens is an implementation is generated that essentially will map method calls like username to Map<String,String>#get or Config#getString. I take @Nullable into account.
Anyway this is again I think something I could port to use your library.
Able to load env like files AND generate them
One of the annoying things is not everything can read java like config. Particularly shell scripts.
One of the things we have is something that will generate shell environment config from your property files config. That is initialize the framework and export out an ".env" file. This requires deciding how you want to name mangle or convert property names to environment variable names.
Side note
As a tangent I will say on the dynamic properties front which we have as well we never use anymore because reload whole app is fast these days. I wonder do you use that feature?

Very nice, love to get new ideas

Maven Plugin

So gimme an example of what you'd use it for, I suppose I'm not immediately seeing how this would be used.

For example I prefer ~/.config/application

Have you tried using the load.properties feature?
load.properties is pretty versatile and can even be chained. For example, in your main application properties, you can have load.properties=application-${profile:local}.properties to load based on the profile environment variable/JVM arg, and in the application-whatever.properties you can add load.properties there and so on.

As a tangent I will say on the dynamic properties front which we have as well we never use anymore because reload whole app is fast these days. I wonder do you use that feature?

I've not used it, but you never know when it could come in handy. It's the closest thing to a dedicated event listener Avaje has. You can call Config.set anywhere and trigger a function somewhere else.

So gimme an example of what you'd use it for, I suppose I'm not immediately seeing how this would be used.

oh my bad I thought I did. To configure other maven plugins like the jOOQ or flyway plugin.
As for load.properties there was some issue that I can’t recall why it was not enough.
I think what I really meant to mention was profiles but I suppose that you can use variables to dynamically pick load properties. Let me flesh that one out better. Mainly it was the maven plugin.

The maven plugin sounds pretty good to me. I wonder what Rob thinks.

I've not used it, but you never know when it could come in handy. It's the closest thing to a dedicated event listener Avaje has. You can call Config.set anywhere and trigger a specific function somewhere else.

TL;DR Another feature would be an event capturing system instead of logging so that you can use the library to configure logging which is ironically the best use case of dynamic properties IMO.

I completely forgot another feature/bug and this one is a blocker for some of my companies code bases.
This library loads logging up before configuration is finished loading.
We use a custom SLF4J and System.Logger implementation in many places that might work with this config library because we queue the events fired off on System.Logger or JUL before slf4j loads and then replay them when slf4j actually loads (or if the system crashes). Also our custom logging implementation uses the config library directly instead of providing its own (like all other logging implementations which I could rant about but I will save that for another day).
However in some other places we use logback. The only way to configure logback with external configuration is to either programatically configure it via the Service Loader (yours truly added that to logback a long time ago) or to use System properties / ENV variables.
So what typically happens with configuration frameworks that use logging (and btw this was one of the main reasons I wrote our own config framework) is at best case the logging library does not see any of the config (assuming you set System properties with loaded config which our library has an option to do) or worse you can occasionally get weird class loading static initializing race conditions particularly if you go the programatic route and access the config framework while configuring logging. I believe with SLF4J this race condition is mostly fixed as it has its own internal queue but I think might break on System.Logger.
What our config framework provides is a simple event system. When logging is done you can drain the queue of events usually replaying them to logging our System.err.

This library loads logging up before configuration is finished loading.

ok, that sounds like something we should fix sooner rather than later. Create an issue for it if

might work

turns out to be false

Yeah let me see if I can make a PR with a unit/integration test that fails.
Apparently it now more or less really depends on the backing implementation of System.Logger and SLF4J. I thought that SLF4J does some magic but I think with 2.0 now using the ServiceLoader it no longer does the whole queuing thing (for reentry of events while initializing).
I will say I know for sure OOB slf4j-simple does not work. It does not provide a queue and initializes eagerly. So if you naively make your own implementation based on slf4j-simple and call avaje config during initialization it will probably break.
What I will do is make a System.Logger integration test. I will have to make a couple of modules to do this because of the ServiceLoader. Unfortunately this will require restructure of the project to a multimodule maven project.
I'll try later this week and let you know.
JUL I'm not so sure about.

I was wrong SLF4J still does have protection but System.Logger does not. The only way for catastrophic initialization to happen is if your System.Logger implementation is not reentrant. The OOB System.Logger one happens to be reentrant (also surprisingly I thought it uses JUL but it does not).
That being said if your logging system requires system properties to be set a priori then it will not work if the logging system is accessed first (which it will always be with avaje-config).
The only way to fix that really is to be able to control the initialization (or at least hook into the beginning and end) of avaje-config. This is because avaje-config follows the ServiceLocator pattern like most logging frameworks but unlike most logging frameworks its not open for changing.
Even microprofile config has this option (through SPI and ditto for SLF4J) so I think its worthwhile.
Finally the big reason for me currently is I need the config loading to not produce any output for various tools.

What our config framework provides is a simple event system. When logging is done you can drain the queue of events usually replaying them to logging our System.err.

I think we should do this for avaje-config. I've created https://github.com/avaje/avaje-config/issues/47 for this.

PR with a unit/integration test that fails.

For myself, I don't need to see a failing integration test for this.

When logging is done you can drain the queue of events usually replaying them to logging our System.err.

Sounds to me like a "Lifecycle" listener + maybe built in options for ease of use (log to System.err, log to System.Logger, log to <nothing / ignore> )

Annotation processor for config objects

You still want this?

Annotation processor for config objects

You still want this?

Object mapping from config is a broad and complicated topic. I'm still mulling it over what exactly is a minimal solution that eases most of the user pain.
While I made an annotation processor to map config it feels like a better tool would be a generic one like MapStruct but they still haven't really finished Map<String,String> / Function<String,String>. Also mine is pretty simple flat mapping and does not do composition or embedded objects.
What I'll do sometime this week or beginning next is port both maven and annotation processor of our config framework in sort of modules avaje-config project.
As a side note it would be nice if avaje-config was already a multimodule project so that I could just put the modules in a forked version of this project (I suppose I could do it on the fork but I didn't want to muddy the changes of adding modules with project restructuring).

What I'll do sometime this week or beginning next is port both maven and annotation processor of our config framework in sort of modules avaje-config project.

Neat.

As a side note it would be nice if avaje-config was already a multimodule project

Wait it's already a multimodule maven project though?

Wait it's already a multimodule maven project though?

Apparently so. I have no idea how I was mistaken. Maybe an older version I had up when I looked?

Anything else we wanna add here? this has been open for a while.

I can't recall if interpolation still only works with System properties? I remember seeing that in the code it being a deal breaker for me.
For example I often have a database properties file
database.schema=foobar
database.host=localhost
database.portPrefix=${global.portPrefix}
database.port=${global.portPrefix}5432
database.url=jdbc\:postgresql\://${database.host}\:${database.port}/${database.schema}
database.username=${database.schema}
database.password=${database.schema} # lets ignore if that is a good idea or not

The above generally requires recursive lookup of properties or multiple passes. I will test if avaje-config can do that now but IIRC it could not.

I can't recall if interpolation still only works with System properties? I remember seeing that in the code it being a deal breaker for me.

interpolation works for any kind of property, ENV variables, files loaded with load.properties, custom configuration sources, and yes, system properties.

database.schema=foobar
database.host=localhost
database.portPrefix=${global.portPrefix}
database.port=${global.portPrefix}5432
database.url=jdbc\:postgresql\://${database.host}\:${database.port}/${database.schema}
database.username=${database.schema}
database.password=${database.schema}

oh, I guess this doesn't work. thanks for finding this.

What does not work?  The global are not defined so I don't understand that part of the example. But interpolation includes other properties yes.

suppose you add global.portPrefix it would still not work

What does not work?

consider this:
database.schema=foobar
database.host=localhost
global.portPrefix=sus
database.portPrefix=${global.portPrefix}
database.port=${global.portPrefix}5432
database.url=jdbc\:postgresql\://${database.host}\:${database.port}/${database.schema}
database.username=${database.schema}
database.password=${database.schema

Config.get("database.portPrefix") throws property not found.

The above generally requires recursive lookup of properties or multiple passes. I will test if avaje-config can do that now but IIRC it could not.

Fixed via https://github.com/avaje/avaje-config/pull/82 ... via the eval function using recursion which is being released in version 3.6

I can file this as a separate feature but it would be nice if the Yaml parsing was ServiceLoaded up.
Then for the folks that already depend on yaml you can make the minor releases just depend on that module:

avaje-config-core (original avaje-config minus yaml)
avaje-config (aggregate dep not a really dep but depends on core and yaml)
avaje-config-yaml

not sure if we'll get any particular use out of splitting, but I like the serviceloader idea

Well I don't know for sure what the uptake would be like but I see a differentiator of avaje as being as small as possible.
Of course I'm a little bit biased as I avoid YAML like the plague if I can but I realize it some how mostly won the devops configuration format war so I'm not that against it being for server backend but I might use avaje config for command line utils.

avaje-config-core (original avaje-config minus yaml)

The simple yaml parser that avaje-config includes is approx 300 lines of code. It's not a LOT of code imo.  Pulling that out into a separate module doesn't seem justified to me.

The simple yaml parser that avaje-config includes is approx 300 lines of code. It's not a LOT of code imo. Pulling that out into a separate module doesn't seem justified to me.

I agree on that front. It was more of the dependency but looking at the POM it is optional and for some reason I thought it was not. I'll have to look how you safely load YAML Snake (the safest btw would be to still use the Service Loader).
I will say there are some in the camp (several from google) that believe there is no such thing as an optional dependency or that it is bad.
However from a practical sense I'm fine with it if you can graalvm native compile as well as jpackage without needing the jar.
... oh wait... after looking at the code it appears you have your own builtin parser? If that is true completely disregard that feature request!

Damn @rbygrave aka @rob-bygrave  that YamlLoaderSimple... I might have to borrow it. I love it.

@SentryMan and @rbygrave I don't have any more feature ideas :) . I will add my companies custom maven plugin as well as the annotation processor that maps bean interfaces to config as a separate project that builds on top of avaje-config and then you can decide what you guys like from it.
Of course @SentryMan knows by the time I get to that it will be 2030 😄
Anyway we can probably close this issue or move it to discussions. Thank you guys so much for the back and forth!

YamlLoaderSimple... I might have to borrow it. I love it

Yup, borrow away. The SnakeYaml parser is quite a log bigger size wise and at the time of creating YamlLoaderSimple the SnakeYaml parser had some security vulnerabilities that they were sitting on a bit.
YamlLoaderSimple does have the limitation that it does not support collections (because in my mind we are translating it all into name/value properties pairs under the hood and collections don't quite map to that).


打包的时候报错，windows打包

我在windows上使用yarn install，没有报错，但是在build的时候报错了，我是在windows11上打包的windows包
我只提供了部分报错，报错太多了，我无法上传截图

It is a ts compilation error. Could you let me know what version of node.js you are running?

I am using prebuilt Binaries nodejs16 for windows, the specific version is 16.20.2

Now I try to git clone a brand new file, and compile and install it directly without any modification and generate the win version installation package. It seems that it reports an error and cannot find a file named node-v13.6.6-headers.tar.gz

Now I try to git clone a brand new file, and compile and install it directly without any modification and generate the win version installation package. It seems that it reports an error and cannot find a file named node-v13.6.6-headers.tar.gz现在我尝试 git 克隆一个全新的文件，直接编译和安装，没有任何修改，并生成 win 版本安装包。似乎它报错，找不到名为 node-v13.6.6-headers.tar.gz 的文件。

Hello @StephenJose-Dai, according to your error log, you can try deleting the 'arm64' on line 81 of vue.config.js. This might allow the compilation to succeed. Currently, it seems that on X86_64 Windows, the compilation may fail. Removing the arm compilation target allows it to compile successfully. The specific reason is still to be determined.
@StephenJose-Dai 您好，根据你的报错日志，你可以尝试一下，删掉 vue.config.js 中的第81行的‘arm64’，或许就可以编译成功了。目前看来在是X86_64的win上，可能会编译失败，移除arm的编译目标之后可以编译成功。具体原因待定。

Now I try to git clone a brand new file, and compile and install it directly without any modification and generate the win version installation package. It seems that it reports an error and cannot find a file named node-v13.6.6-headers.tar.gz

Hello @StephenJose-Dai, according to your error log, you can try deleting the 'arm64' on line 81 of vue.config.js. This might allow the compilation to succeed. Currently, it seems that on X86_64 Windows, the compilation may fail. Removing the arm compilation target allows it to compile successfully. The specific reason is still to be determined.
@StephenJose-Dai 您好，根据你的报错日志，你可以尝试一下，删掉 vue.config.js 中的第81行的‘arm64’，或许就可以编译成功了。目前看来在是X86_64的win上，可能会编译失败，移除arm的编译目标之后可以编译成功。具体原因待定。

我尝试操作，稍候会告诉你结果，感谢！


installation

Hello Sir! I face an issue when I install this project via composer.kindly guide how to install it via composer

@razirafiq71 please show me an error report with message
please commit code to me on this repo
https://github.com/javanile-hub/codeigniter-moldable-orm-samples/invitations

kindly see attached file

done


[ownership-verifier] Instead of dumping the entire block, just dump t…

…he block's debug id.
Thanks to Erik for pointing out to me that this is the same value as a block's
printed ID. This makes the output significantly more readable!
rdar://29791263

@swift-ci Please smoke test and merge


can not download png

Bug report
Codepen
https://codepen.io/maozhenhua/pen/OJRKaxo
Explanation

What is the behavior you expect?

download png

What is happening instead?

can't download png

What error message are you getting?

nothing

i find the solution;

stroke.width And colors[function] must exist at the same time

i find the solution;

stroke.width And colors[function] must exist at the same time


Redirect metrics endpoint to /

I think this was merged already in @paraglade's PR

Actually, looks like it wasn't but you will want to redo it anyway because the chart has been versioned up a few times.


Allow to reboot a computer running vertex

Fixed with https://github.com/vertex-center/vertex/commit/869647f54a578369a4edf731ef4475fefb4259e4


[BUG] Agent's image repository and tag are hardcoded

Describe the bug
virtbmc's image name and tag are hardcoded to starbops/virtbmc and dev no matter what KubeVirtBMC version is installed.
To Reproduce
Steps to reproduce the behavior:

Create a Kubernetes cluster
Install KubeVirt
Install cert-manager
Install KubeVirtBMC via make deploy
Create a virtual machine
The created virtbmc Pod will use the starbops/virtbmc:dev container image

Expected behavior
The image name and tag should follow the controller's by default and be configurable via the controller's flags to allow customization.
Screenshots
N/A
Environment (please complete the following information):

OS: Harvester v1.3.2
Kubernetes version: v1.28.12+rke2r1
KubeVirt version: v1.1.1
KubeVirtBMC version: v0.3.1

Additional context
First found in https://github.com/starbops/kubevirtbmc/issues/19#issuecomment-2457421709

Close as fixed in #37 and #38.


FFtext是否支持换行？

FFtext是否支持自动换行？

+1

+1

waiting  a new version is being developed

+1

The function has been implemented, please use the new version.
https://github.com/tnfe/FFCreator/blob/master/examples/text.js


variable height Day Boxes

I am trying to add small thumbnails of images to the day box. do you think I should use 'mwl-resizable' directive or should just create a new template ?

The current layout doesn't perform well for dynamic height month cells, I'd say use a custom template.

thanks @mattlewis92


Support default values

First of all, I want to thank you very much for this great extension. Very useful indeed !
Is it possible to support default values for some of the params ?
Thanks in advance.

This would be a great addition heck if you don't want to change the format and break hence why #11 was never merged, you could just have a params_defaults: ['', ''] that it pulls defaults from


add -v flag

What was wrong?
Fix #821
How was it fixed?
Add -v flag to observe what hangs it
Cute Animal Picture

We will close this one if we merge #827.

The purpose of this PR is served, closing in favor of #827


Is the File Picker something we can use as well?

Category

[x] Question
[ ] Typo
[ ] Bug
[ ] Enhancement / Suggestion
[ ] Additional article idea

Expected or Desired Behavior
When adding the Image Gallery webpart to a page (or workbench), you are presented with a File Picker dialog window. Is this something we can (re-)use, or should we create one ourselves if we want to use this kind of behavior?

Hi @NickSevens, thank you for the question. At the current time this is not possible. We will evaluate the possibility of this.

@manishgarg1 thank you for the response. Looking forward to a positive evaluation ;)


[testcase] Fix regression test case failure

Proposed changes
Issue Number: close #xxx
Problem Summary:
Checklist(Required)

Type of your changes:

[ ] Improvement
[ ] Fix
[ ] Feature-WIP
[ ] Feature
[ ] Doc
[ ] Refator
[x] Others:

Does it affect the original behavior:

[ ] Yes
[x] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[x] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[x] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes
[x] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

quick merge it for fix master pipeline problem


Question regarding Input to Deepcell

How is the input file to Deepcell generated/formatted/sized? Looks like it has a dimension of 1024x2 (I imported the file to Matlab to check the dimension). Shouldn't it be 1048576x2, if the individual channel images were resized?

Currently, the input file to Deepcell is 1024x1024x2, one 1024x1024 nuclear signal image/layer and one 1024x1024 membrane signal image/layer.
However, other standard tif reading/writing software/packages would expect these multilayered tifs to be shaped 2x1024x1024, with number of layers as the first dimension.  Consequently, when single tif reading packages look at these Deepcell input files, only one 1024x2 image is loaded in as if it were the first of 1024 layers.
@ngreenwald correct me if I'm mistaken, but I believe Deepcell will change the input format to the standardized 2x1024x1024 format, at which point or prior to which we'll update this project accordingly.  That process shouldn't be anything to be concerned about; it'll occur under the radar with no appreciable side effects.
Regardless, it sounds like you've gotten the right inputs for Deepcell, so you're all set; they're just not MATLAB compatible tifs.
If you really need to read in the tiff file to MATLAB, as they are right now, you can use the following snippet:
%%% function for general multipagetiff reading (I don't think there's another way of doing this 🙄 )
function images = readMultipageTiff(filename)
    % Create Tiff object and read first image
    t = Tiff(filename, 'r');
    images(:,:,1) = t.read();
    if t.lastDirectory()
         return;
    end
    % Read all remaining pages (directories) in the file
    t.nextDirectory();
    while true
        images(:,:,end+1) = t.read();
        if t.lastDirectory()
            break;
        else
            t.nextDirectory();
        end
    end
end

%%% example usage
images = readMultipageTiff(deepcell_input)

% show nuclear channel
imshow(images(1, :, :))

% show membrane channel
imshow(images(2, :, :))

Alternatively, if you just want to look at the Deepcell input tifs to verify that everything looks correct, you could do that from the preprocessing notebook by adding a new notebook cell with this code:
import matplotlib.pyplot as plt

deepcell_input_xr = data_utils.load_imgs_from_multitiff(deepcell_dir)

# show nuclear channel
plt.imshow(deepcell_input_xr[0, : , :, 0].values)

# show membrane channel
plt.imshow(deepcell_input_xr[0, :, :, 1].values)

Again, all of that code is optional.  You're all set to upload to Deepcell.

Makes sense. Thanks for the Matlab code - the file is supposed to be read like that. I just dragged the file to the workspace which is not the correct way to read this type of tiff files.


Create New Project For Azure Functions v3

Hi, I've been struggling with this all day.  I'm using the Azure Functions (0.20.0) extension in VS Code (1.31.1).  It will not recognize that I have the Functions runtime v3  installed (by way of the Azure Core Tools (3.0.2106))
When I go through the Azure Functions: Create New Project... command I am unable to select v3.  My choices are: Azure Functions v2 (.NET Standard), and Azure Functions v1 (.NET Framework)
If I create a Functions project from cmd, it creates a project with the v3 references.  Cool.  But when I open it in VS Code, VS Code shows warnings.  If I try to deploy the v3 Functions App by the little blue arrow at the top of the extension, I get a warning that I must set the remote Functions to use v2.  If I click ok, it deploys it, but the app doesn't run.
When I run npm list -g --depth=0, the only result is<EMAIL_ADDRESS>I've read many of the existing issues here, but they all end with "it's fixed in X release".  It's not fixed for me. What should my next step be?

Can you also make sure your VS Code is up to date? Our minimum version of VS Code is 1.37.0 and sounds like you're on 1.31.1? That might be preventing you from running our version 0.20.2 even if it's somehow installed. Unfortunately, I don't think VS Code has very good warnings/errors in this case


An Article example added

We already have all the information in this article in the README of the repo. Feel free to re-open PR in case you change the article to add some additional value which I dont see as of now.


Start/stop callbacks not correctly named in documentation

Hi,
In the readme, the callbacks are named "help-overlay-start" and "help-overlay-stop", which don't appear to work when using them.  I checked the example index.html and they're used as "overlay-start-callback" "overlay-stop-callback".  Just thought you and other users should know they're named differently and that the readme should be updated.
Thanks for the code, it works pretty well!

I think I changed the names early on and must have never made the doc change, thank you for bringing it up!
Thanks I appreciate it!


Information table of supported features for several Hardware like in mesamatrix or better

Information table of supported OpenCL features for several Hardware like in mesamatrix or better
See OpenCL tables at the end of website
https://mesamatrix.net/

Hi @stefano2734
Thanks for reaching out.
I did not understand your point well. Are you sharing information or are you looking for some information?
Please clarify.
Thank you.

I want see same or better information tables in rocM also.
Mesamatrix with his tables shows not perfect but good the status of their development.
This tables can help users and developers.
Most functions are not used in software by asymmetrical information.
Internal  status of a software is complex.
Quality of code, performance, bugs, Features, todo list and much more.
And this all under permanent time pressure.
So sometimes a project Team must go in a helicopter ahead and see the world of their project.
And one helicopter tool is a table of supported functions also in relation to other implementation and teams.
Normally a standard is a wonderful milestone.
OpenCL 3.0 is a „broken“ standard. OpenCL 2.x is only optional. And many other functions are also optional not in the Standard. Not all hardware can do all of this. So there is a Matrix of possible.
A developer for many platforms must now, what he can use by base for his software.
At the moment only OpenCL 1.2 is secure for actual and older hardware. Only very old is compatible only to OpenCL 1.1.
So 50% of your work less or more is actual not used.
Some functions are optional but available in most OpenCL-teams.
With public clear information more functions are used with progress in software.
Internal you should have status tables of your project with comparisons to the other teams of Nvidia, Intel and Mesa and others.

And see slides: FAST development and their problems with OpenCL features and OpenCL support in drivers
https://www.iwocl.org/wp-content/uploads/17-iwocl-syclcon-2021-smistad-slides.pdf
Gromacs goes to SYCL
https://www.iwocl.org/wp-content/uploads/22-iwocl-syclcon-2021-alekseenko-slides.pdf

Thanks @stefano2734
I will let developer to comment on this. Thank you.

Hi @stefano2734
I got update from developer and pasting here.
For extensions OpenCL supports, run clinfo, all will be listed for the GPU, as well as the platform extensions.
Hope this helps.
Thank you.

I am closing this considering as requested information is shared.
Feel free to open a new issue, for any, for quick resolutions.
Thank you.

Closing the ticket as requested info has been shared by ROCmSupport on May 13, 2022.


Support arrays for variables and functions in MDF format/reference implementation

In progress here: https://github.com/ModECI/MDF/tree/arrays
See: https://github.com/ModECI/MDF/blob/arrays/examples/Arrays.json

Initial implentation merged https://github.com/ModECI/MDF/pull/41


Upgrade to Rust 1.80.0

re: trampoline seems to be missing this lockfile update
crates/uv-trampoline/Cargo.lock


Add some APIs

Might be useful.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT license.

Codecov Report
Attention: Patch coverage is 0% with 5 lines in your changes missing coverage. Please review.

Project coverage is 89.95%. Comparing base (2ad33d1) to head (7671047).

Files with missing lines
Patch %
Lines

mls-rs/src/group/framing.rs
0.00%
5 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #192   +/-   ##
=======================================
  Coverage   89.95%   89.95%
=======================================
  Files         175      175
  Lines       31101    31106    +5
=======================================
+ Hits        27976    27981    +5
  Misses       3125     3125

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


custom errorMessage by field name doesn't work.

Given the following JSON Schema, I cannot override its errorMessage using createHeadlessForm()
{
  "properties": {
    "year": {
      "title": "Year",
      "type": "number",
      "presentation": {
        "inputType": "number"
      },
      "x-jsf-errorMessage": {
        "required": "The year is mandatory."
      },
      "minimum": 1900,
      "maximum": 2023
    }
  },
  "required": ["year"]
}

JSF Config:
const { fields } = createHeadlessForm(schemaAbove, {
  customProperties: {
    year: {
      errorMessage: {
        required: "Cannot be empty (custom error from config)"
      }
    }
  }
})

This issue might be out of scope for json-schema-form. We are discussing internally the possibility of deprecating customProperties in favor of moving mutations to JSON Schemas outside createHeadlessForm().
So in this case, we'd instead recommend doing this:
import merge from 'lodash/fp/merge';

const newSchema = merge(schema, {
  properties: {
    year: {
      "x-jsf-errorMessage": {
        required: "Cannot be empty (custom error)"
      }
    },
  }
});

const form = createHeadlessForm(newSchema)

This is solved in favor of the new modify() module! #75


option to expose program execution debug logs through the API

In order to help debug remotely executing programs, the juttle service jobs API should support an additional debug option along with the program bundle. When set, the system would include the logs generated by the given program alongside the program results (either streamed over the websocket or collected and included in the the REST API results when wait=true).
The implementation can piggy-back on the existing mechanism that handles logs generated from the subprocess by sending a message to the parent process. Currently this handler just delegates directly to log4js, but this new feature could tap in at the same point to be able to process the logs and send them to the client.
This approach would also provide the expected isolation -- only logs generated by a specific subprocess (i.e. a given juttle program) would be intercepted, so the logs from a given program run wouldn't be interleaved with the logs from another program run.

Just a little sample of appender usage:
https://gist.github.com/VladVega/04da6c66e307b275b08b

I alluded this in the issue, but I don't think it will work to intercept at
the log4js level since all the logs for every executing juttle program use
the same log4js instance.
My thought was that we could intercept at the place where the job-manager
handles log messages coming from the child process:
https://github.com/juttle/juttle-service/blob/master/lib/juttle-job.js#L74
That way we only get the logs from the child process itself, which is one
to one with the job run request.
On Thu, Feb 11, 2016 at 5:24 PM, Vlad Vega<EMAIL_ADDRESS>wrote:

Just a little sample of appender usage:
https://gist.github.com/VladVega/04da6c66e307b275b08b
—
Reply to this email directly or view it on GitHub
https://github.com/juttle/juttle-service/issues/42#issuecomment-183141788
.

--
Michael Demmer
Jut - CTO / VP Engineering
<EMAIL_ADDRESS>

A little late to this, but what about making the debug option something you set when connecting to a job via websocket instead of when creating a job? That way you could tap into the logs being generated by an already running job instead of having to recreate it with the debug option.


[Feature][Master] Display the workflowInstance/taskInstance failed reason

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
If a workflow instance/ task instance is failed, we need to query the log and find out why it failed.
Can we save the failed reason to db as metadata, and display on the ui?
Use case
No response
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I may not feel good if it just saves the error message. Because many times the error message has to be seen against the context of the program. If the context is also stored together, the larger context will cause oom，personal opinion only

I may not feel good if it just saves the error message. Because many times the error message has to be seen against the context of the program. If the context is also stored together, the larger context will cause oom，personal opinion only

The error message is not exception stack, it is defined in master/worker, e.g dispatch failed, server error, workflow definition doesn't exist ...

@ruanwenjun Can I understand it this way, our previous logs are just the output produced by the task execution. But before execution, he may also report an error, but the user cannot view it on the front end, and can only find this error in the log file afterwards. so we should do this

@ruanwenjun Can I understand it this way, our previous logs are just the output produced by the task execution. But before execution, he may also report an error, but the user cannot view it on the front end, and can only find this error in the log file afterwards. so we should do this

Yes, and the workflow may execute failed due to some other reason, we didn't display workflow log on the ui.

@ruanwenjun Can I understand it this way, our previous logs are just the output produced by the task execution. But before execution, he may also report an error, but the user cannot view it on the front end, and can only find this error in the log file afterwards. so we should do this

Yes, and the workflow may execute failed due to some other reason, we didn't display workflow log on the ui.

I suggest not just logging error messages, we should log the execution flow。eg:(start_process(success)->buildDAG (success)-> put into task queue (success)->handleCommon(failed)). this allows users to more clearly understand what went wrong in the execution.

@ruanwenjun Can I understand it this way, our previous logs are just the output produced by the task execution. But before execution, he may also report an error, but the user cannot view it on the front end, and can only find this error in the log file afterwards. so we should do this

Yes, and the workflow may execute failed due to some other reason, we didn't display workflow log on the ui.

I suggest not just logging error messages, we should log the execution flow。eg:(start_process(success)->buildDAG (success)-> put into task queue (success)->handleCommon(failed)). this allows users to more clearly understand what went wrong in the execution.

The problem is that we still need to login the master machine and query the log...

@ruanwenjun Can I understand it this way, our previous logs are just the output produced by the task execution. But before execution, he may also report an error, but the user cannot view it on the front end, and can only find this error in the log file afterwards. so we should do this

Yes, and the workflow may execute failed due to some other reason, we didn't display workflow log on the ui.

I suggest not just logging error messages, we should log the execution flow。eg:(start_process(success)->buildDAG (success)-> put into task queue (success)->handleCommon(failed)). this allows users to more clearly understand what went wrong in the execution.

The error message  will be user friendly.

Good idea.
I found that ds workflow instance loss some message, such as stop reason, maybe it's stopped by workflow execute strategy or others, but we have to spend time searching and locating the cause from logs.
So we need this failed reason to help users locate problems.

Here is my design of state history:

Add a new column of status description to the workflow instance list, the format is as follows:

RUNNING → READY_PAUSE → PAUSE → RUNNING → STOP

Hover or click to display the specific historical status description, as follows:

Here is my design of state history:

Add a new column of status description to the workflow instance list, the format is as follows:

RUNNING → READY_PAUSE → PAUSE → RUNNING → STOP

Hover or click to display the specific historical status description, as follows:

Can you list all the states you can think of，This might give me an idea of where you'd add the logic to add these states

Can you list all the states you can think of，This might give me an idea of where you'd add the logic to add these states

The state of WorkflowExecutionStatus enum when use. I just add the state history and state desc for it.


Missing color decorators

It seems that colors defined inside themes lose their color decorators (a little square box by the actual className indicating the color). I realized how much I needed them when I lost them 😭.
Or maybe there is somewhere a little config to enable them?

tailwindlabs/tailwindcss-intellisense#409


mediaDevices.getUserMedia returns "DOMException: Permission denied" when it is called in the pop-out-app window

Hi there,
Not sure if this is the correct repo to ask. But I still want to have a try.
Does anyone know why the below code won't return the MediaSteam in an MS Teams pop-out-app window in desktop client of the MS Teams app?
await window.navigator.mediaDevices.getUserMedia({audio: true, video:false})

It returns "DOMException: Permission denied".
It works in the default app window.
MediaStream {id: "vDPnWRVz0V4kVgwWOMITbBPeN3KXgN9pviDg", active: true, onaddtrack: null, onremovetrack: null, onactive: null, …}

Is it caused by the "audio" permission is not granted to the pop-out window?
NOTE:
I've enabled the device permissions in my app's manifest, and also the MS Teams app itself.
Thank you!
Reference:

https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/device-capabilities/native-device-permissions?tabs=desktop#use-teams-apis-to-get-device-permissions

I posted this issue in the MS Teams JS SDK repo, it is told this is an MS Teams product issue, so I asked here again.
https://github.com/OfficeDev/microsoft-teams-library-js/issues/524
Would anyone help look? Thank you!
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 19804dba-009f-2eb1-cc7f-1e0fabbebb6b
Version Independent ID: a9373e78-b3c9-7182-d253-5ac8d8988936
Content: Request device permissions for your Microsoft Teams app - Teams
Content Source: msteams-platform/concepts/device-capabilities/native-device-permissions.md
Product: msteams
GitHub Login: @laujan
Microsoft Alias: lajanuar

@Wajeed-msft @Nikitha-MSFT Hello, would you pls help check? Thank you!

@kafka-yu - Could you please confirm if your issue has resolved or still looking for any help?


square cube calculator

Fixes Issue🛠

Closes #164
Description👨💻
Added a calculator which calculates the square and cube of a number.

Type of change📄

[] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)

How this has been tested✅
dummy data

Checklist✅

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[] I have commented my code, particularly in hard-to-understand areas
[] I have added demonstration in the form of GIF/video file
[X] I am an Open Source Contributor

Screenshots/GIF📷

Good, Merged!! 🎉 @kom-senapati


Add an option to exclude pods when tailing logs

I have been using a combination of grep -v and awk -F '{print $1 }' to exclude pods from the list of all pods (which have the same prefix, but the pods I don't want to tail have a particular string in them).
stern "`kubectl get pods | grep -i str1 | grep -iv str2 | awk '{ print $1 }' | paste -sd '|' -`"

I tried to use the current version of stern with negative look ahead, but I couldn't quite make it work (Anyway, this won't work whenever there is a character between str1 and str2):
stern 'str1(?!str2)'

As there are include and exclude regular expressions for containers, I thought it would be useful to have an exclude regular expression for pods as well.
(Ideally, exclude-pod would be the -v shortcut command, to be in line with both ag and grep. But -v is already taken by --version, so I have used the obscure -x for this PR. If the maintainers would like, then I can remove the current -v shortcut to --version and use -v for exclude-pod instead)

Thank you for your contribution. Please review our contribution instructions here:
https://github.com/wercker/stern/blob/master/CONTRIBUTING.md
In particular, we can only merge contributions from signatories of the Oracle Contributors Agreement:
https://www.oracle.com/technetwork/community/oca-486395.html

@hatchan Understood! I will read through the agreement and do everything that's required. 🙌

@hatchan Actually, I read that agreement and I'm not willing to sign it. So, I will close this PR and let the changes be here (and in my fork) for anyone who would like to use it.
Note: If anyone who has already signed the agreement wants to take this change and create a new PR and get it merged, please feel free to do so :raised_hands: :bowing_man:


SPDistributedCacheService Why this resource wait 30 minutes for stopping serviceinstance

Details of the scenario you try and problem that is occurring:
Why we have to wait that spservice instance is stopped:
[[SPDistributedCacheService]APPLICATION_SpsEnableDistributedCache_Master] 10:36 - Waiting for distributed cache to stop on all servers (waited 0 of
30 minutes)
Workaround: kill the AppFabric process.
The DSC configuration that is using the resource:
SPDistributedCacheService APPLICATION_SpsEnableDistributedCache
{
  PsDscRunAsCredential = $SvcSPSetup
  Name                 = 'AppFabricCachingService'
  Ensure               = 'Present'
  CacheSizeInMB        = 1024
  ServiceAccount       = $SvcSPAppFabric
  CreateFirewallRules  = $true
}

Version of the Operating System and PowerShell the DSC Target Node is running:
Windows 2012 R2 / PowerShell 5.1
Version of SharePoint that is used (e.g. SharePoint 2016):
Sharepoint 2013
Version of the DSC module you're using:
<IP_ADDRESS>

Link to #786 as they are related.

When you stop the DC service on a server, you have the options to gracefully shutdown the service or kill it. With a graceful shutdown, all objects in the cache are transferred to other DC servers in the farm before the DC service is stopped. This will take some time, but will ensure that you won't lose any cached objects.
When killing the AppFabric process, you lose all the objects in the cache which has a performance impact (objects have to be retrieved from the database again when they are needed) and a data loss impact (some objects are only stored in the DC and not in the database):
Tags and document activities are saved only to the Feed Cache. Tags and document activities are not persisted to content databases. When the Distributed Cache service is stopped, tags and document activities are lost.
Source: https://docs.microsoft.com/en-us/sharepoint/administration/manage-the-distributed-cache-service#start-and-stop-the-distributed-cache-service
That is why this time-out has been built-in.

And this time-out is a maximum time-out. If the service stops in two minutes, the resource also continues with the next steps.

You're right @ykuijs  after a few test, the resource continues with the next steps. The service stops in a few minutes (never the same time, but it doesn't matter)
Thank you. You can close this issue.


picasa/find-photos: respond to nits from #2714

Current coverage is 88.02% (diff: 100%)

Merging #2736 into master will not change coverage

@@             master      #2736   diff @@
==========================================
  Files           245        245
  Lines         18277      18277
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits          16088      16088
  Misses         1926       1926
  Partials        263        263

Powered by Codecov. Last update 8e240b8...c22831e


Fields in Translation function

Fields which are unnecessary to change at least in the short term can be hidden:

Relative path to project root dir (seems fixed)
Application dir (seems fixed)
Domain (seems fixed)

Should we make "language" and "original" shown but non-editable?

Duplicate of #794


slight overlapping

I am noticing some strange overlapping window behavior when split horizontal, wondering if I have a miss-configuration or is this because of the m1 version of the binary?

Quick info
yabi version: 3.3.7, HEAD
macos version: 11.2.1
platform: m1
sip: enabled
yabi running in rosetta: nope
More info
jordans-air:~ jordan$ sw_vers
ProductName:	macOS
ProductVersion:	11.2.1
BuildVersion:	20D74
jordans-air:~ jordan$ uname -a
Darwin jordans-air.lan 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 21 00:06:51 PST 2021; root:xnu-7195.81.3~1/RELEASE_ARM64_T8101 arm64 arm64 MacBookAir10,1 Darwin
jordans-air:~ jordan$ yabai --version
yabai-v3.3.7
jordans-air:~ jordan$ brew info yabai
koekeishiya/formulae/yabai: stable 3.3.7, HEAD
A tiling window manager for macOS based on binary space partitioning.
https://github.com/koekeishiya/yabai
/opt/homebrew/Cellar/yabai/HEAD-bbb7d37 (10 files, 681.3KB) *
  Built from source on 2021-02-06 at 22:38:10
From: https://github.com/koekeishiya/homebrew-formulae/blob/HEAD/yabai.rb
==> Requirements
Required: macOS >= 10.13 ✔
==> Options
--HEAD
	Install HEAD version
==> Caveats
Copy the example configuration into your home directory:
  cp /opt/homebrew/opt/yabai/share/yabai/examples/yabairc ~/.yabairc
  cp /opt/homebrew/opt/yabai/share/yabai/examples/skhdrc ~/.skhdrc

Logs will be found in
  /opt/homebrew/var/log/yabai/yabai.[out|err].log

To have launchd start koekeishiya/formulae/yabai now and restart at login:
  brew services start koekeishiya/formulae/yabai
Or, if you don't want/need a background service you can just run:
  yabai
jordans-air:~ jordan$ csrutil status
System Integrity Protection status: enabled.

See #793

Great! Closing as this is a dup.