[Docker] Upgrade from 2.4.1 to 2.5.0 fail

Describe the Bug
I updated the docker image to the latest version and got a prisma migrate deploy command error after container boot.
Database
MySQL
Relevant log output
umami-umami-1  | yarn run v1.22.19
umami-umami-1  | $ npm-run-all check-db update-tracker start-server
umami-umami-1  | $ node scripts/check-db.js
umami-umami-1  | ✓ DATABASE_URL is defined.
umami-umami-1  | ✓ Database connection successful.
umami-umami-1  | ✓ Database version check successful.
umami-umami-1  | Error: P3009
umami-umami-1  |
umami-umami-1  |
umami-umami-1  | migrate found failed migrations in the target database, new migrations will not be applied. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve
umami-umami-1  | The `03_metric_performance_index` migration started at 2023-08-18 06:55:19.444 UTC failed
umami-umami-1  |
umami-umami-1  |
umami-umami-1  |
umami-umami-1  |
umami-umami-1  |
umami-umami-1  |
umami-umami-1  | error Command failed with exit code 1.
umami-umami-1  | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
umami-umami-1  | ERROR: "check-db" exited with 1.
umami-umami-1  | error Command failed with exit code 1.

Which browser are you using? (if relevant)
No response
How are you deploying your application? (if relevant)
Docker
Temp fix:
UPDATE _prisma_migrations SET `finished_at` = CURRENT_TIMESTAMP WHERE `migration_name` = '03_metric_performance_index';

Same issue for me.

FWIW, this did work:
docker compose pull
docker compose down
docker compose up -d

@RikoDEV Can you pull the error message from the _prisma_migration table and post it?

Sure:
Migration name: 03_metric_performance_index
Database error code: 1061
Database error:
Duplicate key name 'event_data_website_id_created_at_idx'
Please check the query number 1 from the migration file.
   0: sql_schema_connector::apply_migration::apply_script
           with migration_name="03_metric_performance_index"
             at schema-engine/connectors/sql-schema-connector/src/apply_migration.rs:106
   1: schema_core::commands::apply_migrations::Applying migration
           with migration_name="03_metric_performance_index"
             at schema-engine/core/src/commands/apply_migrations.rs:91
   2: schema_core::state::ApplyMigrations
             at schema-engine/core/src/state.rs:201```

Same here with MySQL on Vercel
[13:18:21.775] $ node scripts/check-db.js
[13:18:21.882] ✓ DATABASE_URL is defined.
[13:18:22.361] ✓ Database connection successful.
[13:18:22.736] ✓ Database version check successful.
[13:18:25.046] Error: P3009
[13:18:25.047]
[13:18:25.047] migrate found failed migrations in the target database, new migrations will not be applied. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve
[13:18:25.047] The `03_metric_performance_index` migration started at 2023-08-19 01:03:29.294 UTC failed
[13:18:25.047]
[13:18:25.047]
[13:18:25.047] ✗ Command failed: prisma migrate deploy
[13:18:25.047] Error: P3009
[13:18:25.047]
[13:18:25.047] migrate found failed migrations in the target database, new migrations will not be applied. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve
[13:18:25.047] The `03_metric_performance_index` migration started at 2023-08-19 01:03:29.294 UTC failed
[13:18:25.047]
[13:18:25.047]
[13:18:25.047]
[13:18:25.062] error Command failed with exit code 1.
[13:18:25.063] info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
[13:18:25.078] ERROR: "check-db" exited with 1.
[13:18:25.093] error Command failed with exit code 1.
[13:18:25.093] info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
[13:18:25.117] Error: Command "yarn run build" exited with 1

@RikoDEV Did you upgrade your Umami from v1 -> v2?  If so, I assume the old schema/tables need to be dropped as the key event_data_website_id_created_at_idx currently does not exists in any v2 migrations, but the one trying to be applied.

@RikoDEV Did you (or any of the reporters in this thread) upgrade your Umami from v1 -> v2? If so, I assume the old schema/tables need to be dropped as the key event_data_website_id_created_at_idx currently does not exists in any v2 migrations, but the one trying to be applied.

Yes, I updated the umami from v1 to v2.

@RikoDEV Did you (or any of the reporters in this thread) upgrade your Umami from v1 -> v2? If so, I assume the old schema/tables need to be dropped as the key event_data_website_id_created_at_idx currently does not exists in any v2 migrations, but the one trying to be applied.

I have, but it was a long time ago, I've been on probably every updated version after that. Getting this error as well:

Can you try manually dropping the index event_data_website_id_created_at_idx and rerunning the migrations? I can't track down  that index in both the v1/v2 branch, so I'm not exactly sure how it got there. Maybe it was present before we started prisma migrations?

DROP INDEX `event_data_website_id_created_at_idx` ON `event_data`;  (this is mysql syntax, postgresql will be different)
npx prisma migrate resolve --rolled-back "03_metric_performance_index"
yarn build

Let me know if you still have issues.

I'm having the same issue and running on fly.io.  What's the best way to handle this here?

Any solution to this, @franciscao633? Can't use umami since the 2.5.0 update and can't seem to find a way to execute this query using dokku.

@4ortytwo are you able to pull the logs from the failed 03_ migration? Should be in the logs column from the _prisma_migrations table. From there I can probably help you out more.

Can you try manually dropping the index event_data_website_id_created_at_idx and rerunning the migrations? I can't track down that index in both the v1/v2 branch, so I'm not exactly sure how it got there. Maybe it was present before we started prisma migrations?
1. `` DROP INDEX `event_data_website_id_created_at_idx` ON `event_data`; ``  (this is mysql syntax, postgresql will be different)

2. `npx prisma migrate resolve --rolled-back "03_metric_performance_index"`

3. `yarn build`

Let me know if you still have issues.

I had to roll back to 2.4.1 and load in a backup.  When I tried to run these commands I got the following:
Running DROP INDEX `event_data_website_id_created_at_idx` ON `event_data`; got me: ERROR 1091 (42000): Can't DROP INDEX `event_data_website_id_created_at_idx`; check that it exists
Then when I tried to run npx prisma migrate resolve --rolled-back "03_metric_performance_index" I got:
Prisma schema loaded from prisma/schema.prisma
Datasource "db": MySQL database "umami" at "umami-db:3306"
Error: P3011

Migration `03_metric_performance_index` cannot be rolled back because it was never applied to the database. Hint: did you pass in the whole migration name? (example: "20201207184859_initial_migration")

@franciscao633 Unfortunately, we get the same error. During the update to 2.5, the Prisma migration process fails with the following error:
Error: P3009

migrate found failed migrations in the target database, new migrations will not be applied. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve
The `03_metric_performance_index` migration started at 2023-08-29 07:23:29.907336 UTC failed

I tried a rollback, unfortunately without success. Strangely, the logs column is completely empty:

By the way, an index on event_data_website_id_created_at_idx is not created in our case, here is the structure of the event_data table:

I will try an update from 2.4.1 to 2.6.1 today or tomorrow and report back.

@FuzzyMistborn Since you rolled back from a backup those steps aren't needed anymore. What happens when you try to upgrade now? If it errors out can you provide the logs?

Nope, same issue.
yarn run v1.22.19
$ npm-run-all check-db update-tracker start-server
$ node scripts/check-db.js
✓ DATABASE_URL is defined.
✓ Database connection successful.
✓ Database version check successful.
Error: P3009
migrate found failed migrations in the target database, new migrations will not be applied. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve
The `03_metric_performance_index` migration started at 2023-08-31 18:07:35.757 UTC failed
✗ Command failed: prisma migrate deploy
Error: P3009
migrate found failed migrations in the target database, new migrations will not be applied. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve
The `03_metric_performance_index` migration started at 2023-08-31 18:07:35.757 UTC failed
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
ERROR: "check-db" exited with 1.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Feels like the migration is running from an earlier process and that is where the error is to help troubleshoot. What you are seeing the the 2nd attempted try. Your scenario seems very similar to this.

Just a thought, I'm running Mariadb 11.x.  I know they made some changes, could that be the source of the problem?

Still an issue.

Still an issue.

It is. I deleted my database and set up a fresh install. It works now.

Still an issue.

I've given up.  I just nuked my existing install/data and recreated a new Umami instance.  Not happy, but doesn't seem like there will be a fix and didn't want to keep using old software in case there are security issues.

I have the same issue...

Ok, so I did get past it and now I'm back at the latest version (V2.12.1).
I did it with a little trick.

I took a backup of my database by dumping the SQL
I then removed the structure data
I fired up another container with V2.4.1. into a new database
After deleting the admin user, I imported the data only from my real container
I removed the container, fired up V2.5.0 and let it do the migration on the new database
After the upgrade, I took another SQL dump of the new database
I deleted my real database, created a blank new one with the same name and imported the dump which had V2.5.0
I fired up the container with V2.5.0 and I passed the migration
I then updated the container from 2.5.0 to 2.12.0 in one go and it succeeded again.
Last step was to update to V.2.12.1

Where is the version number displayed now in the site? It disappeared from the footer?


Bot does not start

Hi.
I have a problem running the bot. I have the following errors: http://pastebin.com/tHuTTdW7
Other Information
OS:  Debian 7 x64
Branch: dev
Git Commit: 665c3b3f06a4202a94874452b7c3098db800f5f8
Python Version: 2.7.12

i got it fixed after reinstalling the auth.js file with ./setup -a

Thanks. New log:
root@vpspietr:~/PokemonGo-Bot# ./run.sh
2016-11-11 18:56:54,281 [       cli] [INFO] PokemonGO Bot v1.0
2016-11-11 18:56:54,289 [       cli] [INFO] commit: 665c3b3f
2016-11-11 18:56:54,294 [       cli] [INFO] Configuration initialized
2016-11-11 18:56:54,294 [pokemongo_bot.health_record.bot_event] [INFO] Health check is enabled. For more information:
2016-11-11 18:56:54,294 [pokemongo_bot.health_record.bot_event] [INFO] https://github.com/PokemonGoF/PokemonGo-Bot/tree/dev#analytics
2016-11-11 18:56:54,304 [requests.packages.urllib3.connectionpool] [INFO] Starting new HTTP connection (1): www.google-analytics.com
(9996) wsgi starting up on http://<IP_ADDRESS>:4000
[2016-11-11 18:56:54] [PokemonGoBot] [WARNING] SleepSchedule is disabled
[2016-11-11 18:56:54] [PokemonGoBot] [INFO] Setting start location.
_inventory was not initialized
_inventory was not initialized
[2016-11-11 18:56:54] [       cli] [INFO]
[2016-11-11 18:56:54] [       cli] [INFO] Ran for 0:00:00
[2016-11-11 18:56:54] [       cli] [INFO] Total XP Earned: 0  Average: 0.00/h[2016-11-11 18:56:54] [       cli] [INFO] Travelled 0.00km
[2016-11-11 18:56:54] [       cli] [INFO] Visited 0 stops
[2016-11-11 18:56:54] [       cli] [INFO] Encountered 0 pokemon, 0 caught, 0 released, 0 evolved, 0 never seen before ()
[2016-11-11 18:56:54] [       cli] [INFO] Threw 0 pokeballs
[2016-11-11 18:56:54] [       cli] [INFO] Earned 0 Stardust
[2016-11-11 18:56:54] [       cli] [INFO] Hatched eggs 0
[2016-11-11 18:56:54] [       cli] [INFO]
[2016-11-11 18:56:54] [       cli] [INFO] Highest CP Pokemon:
[2016-11-11 18:56:54] [       cli] [INFO] Most Perfect Pokemon:
Traceback (most recent call last):
File "pokecli.py", line 846, in
main()
File "pokecli.py", line 194, in main
bot = start_bot(bot, config)
File "pokecli.py", line 146, in start_bot
bot.start()
File "/root/PokemonGo-Bot/pokemongo_bot/init.py", line 147, in start
self._setup_api()
File "/root/PokemonGo-Bot/pokemongo_bot/init.py", line 1043, in _setup_api
self._set_starting_position()
File "/root/PokemonGo-Bot/pokemongo_bot/init.py", line 1238, in _set_starting_position
location = self.get_pos_by_name(location_str.replace(" ", ""))
File "/root/PokemonGo-Bot/pokemongo_bot/init.py", line 1363, in get_pos_by_name
loc = geolocator.geocode(location_name, timeout=10)
File "/root/PokemonGo-Bot/local/lib/python2.7/site-packages/geopy/geocoders/googlev3.py", line 217, in geocode
self._call_geocoder(url, timeout=timeout), exactly_one
File "/root/PokemonGo-Bot/local/lib/python2.7/site-packages/geopy/geocoders/googlev3.py", line 338, in _parse_json
self._check_status(page.get('status'))
File "/root/PokemonGo-Bot/local/lib/python2.7/site-packages/geopy/geocoders/googlev3.py", line 369, in _check_status
'Your request was denied.'
geopy.exc.GeocoderQueryError: Your request was denied.
[2016-11-11 18:56:54] [sentry.errors] [ERROR] Sentry responded with an error: 'module' object has no attribute 'HTTPSHandler' (url: https://app.getsentry.com/api/90254/store/)
Traceback (most recent call last):
File "/root/PokemonGo-Bot/local/lib/python2.7/site-packages/raven/transport/threaded.py", line 174, in send_sync
super(ThreadedHTTPTransport, self).send(data, headers)
File "/root/PokemonGo-Bot/local/lib/python2.7/site-packages/raven/transport/http.py", line 47, in send
ca_certs=self.ca_certs,
File "/root/PokemonGo-Bot/local/lib/python2.7/site-packages/raven/utils/http.py", line 44, in urlopen
class ValidHTTPSHandler(urllib2.HTTPSHandler):
AttributeError: 'module' object has no attribute 'HTTPSHandler'
[2016-11-11 18:56:54] [sentry.errors.uncaught] [ERROR] [u'GeocoderQueryError: Your request was denied.', u'  File "pokecli.py", line 846, in ', u'  File "pokecli.py", line 194, in main', u'  File "pokecli.py", line 146, in start_bot', u'  File "pokemongo_bot/init.py", line 147, in start', u'  File "pokemongo_bot/init.py", line 1043, in _setup_api', u'  File "pokemongo_bot/init.py", line 1238, in _set_starting_position', u'  File "pokemongo_bot/init.py", line 1363, in get_pos_by_name', u'  File "geopy/geocoders/googlev3.py", line 217, in geocode', u'  File "geopy/geocoders/googlev3.py", line 338, in _parse_json', u'  File "geopy/geocoders/googlev3.py", line 369, in _check_status']
Fri Nov 11 18:56:54 CET 2016 Pokebot  Stopped.
Press any button or wait 20 seconds to continue

Was facing the same problem, tried for 8-9 times, finally worked, advice you to

Do not edit the file via notepad in any case.
Use configurator to generate the auth.json file.
If you really need to edit, use Notepad++.

I not edited the file. How do I edit I use nano.

@Pietr i think you should use vi editor.
Can you send me your auth.json file, so that i can test it on my computer, if there is any problem i can correct it and send it back to you.

Let me close it. Should be configuration related issue.


EXCEPTION CAUGHT BY WIDGETS LIBRARY: AnimatedPositioned 'package:flutter/src/animation/tween.dart': Failed assertion: line 237 pos 12: 'begin != null': is flutter: not true.

Steps to Reproduce

get the code here https://github.com/corymalcolmtaylor/game_maze.git
get commit with id ==  b002138ccee109ee68e93cbcc3e36faefd30b1e2
run the program in iOS sim for iPhone 5s
if the errr does not occur try restarting  a game a few times or playing for a while, the error in intermittent

Logs

flutter: build in portrait
flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
flutter: The following assertion was thrown building
flutter: AnimatedPositioned-[<'ZaYV7vFn-OfXO5NAlas_sfD8U9e5vahuNlq1rlyAZ0Y='>](duration: 700ms, left: 164.2,
flutter: top: 0.0, height: 30.8, dirty, state: _AnimatedPositionedState#a05a7(ticker active, has left, has
flutter: top, has height)):
flutter: 'package:flutter/src/animation/tween.dart': Failed assertion: line 237 pos 12: 'begin != null': is
flutter: not true.
flutter:
flutter: Either the assertion indicates an error in the framework itself, or we should provide substantially
flutter: more information in this error message to help you determine and fix the underlying cause.
flutter: In either case, please report this assertion by filing a bug on GitHub:
flutter:   https://github.com/flutter/flutter/issues/new?template=BUG.md
flutter:
flutter: User-created ancestor of the error-causing widget was:
flutter:   Stack
lib/main.dart:696
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #2      Tween.lerp
package:flutter/…/animation/tween.dart:237
flutter: #3      Tween.transform
package:flutter/…/animation/tween.dart:260
flutter: #4      Animatable.evaluate
package:flutter/…/animation/tween.dart:53
flutter: #5      _AnimatedPositionedState.build
package:flutter/…/widgets/implicit_animations.dart:1002
flutter: #6      StatefulElement.build
package:flutter/…/widgets/framework.dart:4039
flutter: #7      ComponentElement.performRebuild
package:flutter/…/widgets/framework.dart:3933
flutter: #8      Element.rebuild
package:flutter/…/widgets/framework.dart:3730
flutter: #9      BuildOwner.buildScope
package:flutter/…/widgets/framework.dart:2340
flutter: #10     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame
package:flutter/…/widgets/binding.dart:701
flutter: #11     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback
package:flutter/…/rendering/binding.dart:285
flutter: #12     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback
package:flutter/…/scheduler/binding.dart:1033
flutter: #13     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame
package:flutter/…/scheduler/binding.dart:975
flutter: #14     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame
package:flutter/…/scheduler/binding.dart:891
flutter: #18     _invoke  (dart:ui/hooks.dart:236:10)
flutter: #19     _drawFrame  (dart:ui/hooks.dart:194:3)
flutter: (elided 5 frames from class _AssertionError and package dart:async)
flutter:
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: Another exception was thrown: 'package:flutter/src/animation/tween.dart': Failed assertion: line 237 pos 12: 'begin != null': is not true.
flutter: Another exception was thrown: 'package:flutter/src/animation/tween.dart': Failed assertion: line 237 pos 12: 'begin != null': is not true.
flutter: Another exception was thrown: 'package:flutter/src/animation/tween.dart': Failed assertion: line 237 pos 12: 'begin != null': is not true.
flutter: Another exception was thrown: 'package:flutter/src/animation/tween.dart': Failed assertion: line 237 pos 12: 'begin != null': is not true.
flutter: Another exception was thrown: 'package:flutter/src/animation/tween.dart': Failed assertion: line 237 pos 12: 'begin != null': is not true.
flutter: Another exception was thrown: 'package:flutter/src/animation/tween.dart': Failed assertion: line 237 pos 12: 'begin != null': is not true.
flutter: Another exception was thrown: 'package:flutter/src/animation/tween.dart': Failed assertion: line 237 pos 12: 'begin != null': is not true.
flutter: Another exception was thrown: 'package:flutter/src/animation/tween.dart': Failed assertion: line 237 pos 12: 'begin != null': is not true.
flutter: Another exception was thrown: 'package:flutter/src/animation/tween.dart': Failed assertion: line 237 pos 12: 'begin != null': is not true.
flutter: Another exception was thrown: 'package:flutter/src/animation/tween.dart': Failed assertion: line 237 pos 12: 'begin != null': is not true.
flutter: Another exception was thrown: 'package:flutter/src/animation/tween.dart': Failed assertion: line 237 pos 12: 'begin != null': is not true.

flutter doctor -v
[✓] Flutter (Channel beta, v1.8.3, on Mac OS X 10.14.6 18G87, locale en-CA)
    • Flutter version 1.8.3 at /Users/corytaylor/dev/flutter
    • Framework revision e4ebcdf6f4 (6 weeks ago), 2019-07-27 11:48:24 -0700
    • Engine revision 38ac5f30a7
    • Dart version 2.5.0 (build 2.5.0-dev.1.0 0ca1582afd)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Volumes/macex/androidSDK
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 10.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.3, Build version 10G8
    • CocoaPods version 1.7.1

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 38.2.3
    • Dart plugin version 191.8423
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.37.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.4.1

[✓] Connected device (1 available)
    • iPhone 5s • 00BCA4B2-7B01-4564-8A4A-5E85A6717066 • ios •
      com.apple.CoreSimulator.SimRuntime.iOS-12-4 (simulator)

• No issues found!

@corymalcolmtaylor Possible the error is with the implementation, not with Flutter itself. In that case I would advise you to open a question on StackOverflow as help may come faster there.

Instead of pointing to your app it would be more helpful for debugging this if you can post a reduced test case that reproduces the error.

Yes I suppose it would but like I said the error is intermittent so i don't have such a test case.  I don't seem to be getting this error anymore in that codebase at least so if you want to compare with earlier or later commits that might help but I have moved on.    I posted this bug report because the error message itself contained the request to do so.

@corymalcolmtaylor I can't check if it could be your case (because your link points to the repo and not to the code where you are getting the error) or if this helps. But i was using two animatedPositioned getting the same error in just one of them, pointing to the right property specifically. After some tests, i noticed that i hadn't put key on the widgets. Putting a key in each one solved the problem.

I'm having the same error when using AnimatedPositioned like so:
left: percentX <= 0.5
    ? (chartWidth * percentX) - (circleDiameter / 2)
    : null,
right: percentX > 0.5
    ? chartWidth -
        (chartWidth * percentX) -
        (circleDiameter / 2)
    : null,

When percentX changes from 0.5 to 0.51 left becomes null and right becomes a non-null value.

I'm having the same error when using AnimatedPositioned like so:
left: percentX <= 0.5
    ? (chartWidth * percentX) - (circleDiameter / 2)
    : null,
right: percentX > 0.5
    ? chartWidth -
        (chartWidth * percentX) -
        (circleDiameter / 2)
    : null,

When percentX changes from 0.5 to 0.51 left becomes null and right becomes a non-null value.
If I replace AnimatedPositioned with Positioned, the code works fine.
The reason I'm using Positioned instead of Align is that I need an absolute position on the vertical axis and an alignment on the horizontal axis.

I just fixed this by applying a maxWidth and calculating the correct left and right values instead of passing null:
left: percentX <= 0.5
    ? (chartWidth * percentX) - (circleDiameter / 2)
    : (chartWidth * percentX) -
        (circleDiameter / 2) -
        maxWidth,
right: percentX > 0.5
    ? chartWidth -
        (chartWidth * percentX) -
        (circleDiameter / 2)
    : chartWidth -
        (chartWidth * percentX) -
        (circleDiameter / 2) -
        maxWidth,

Hi @corymalcolmtaylor,
Can you please confirm if you still experience this issue on latest Flutter version (eg: dev, master, stable) ?
Thanks.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.
Thanks for your contribution.


Any way to access the JsonConvert or similar tools in an Advanced Script?

Hi Daniel,
I would like to build an automatic derivative measure creator to save a lot of repetitive work creating the long list of derivatives that we have ytd/mtd/wtd/yoy etc.
My plan is to define a bunch of derivative patterns in json with the DAX, format string, data dictionary definitions etc. and store that json in the model annotations (just like you do for BPRules), Then I would have an optional annotation on each measure that can list the derivatives that should be created. At build time these derivitives are automatically created.
Loads of benefits including keeping the number of files down in the model, allows changing the derivative dax patterns centrally etc.
First hurdle is getting the derivitive patterns json available in the advanced editor. I can see you have Newtonsoft calls in the code itself but I can't seem to get to them (ideally doing something dynamic like shown in the first answer using dynamic array so no class required - https://stackoverflow.com/questions/13297563/read-and-parse-a-json-file-in-c-sharp ).
Could you help me get this? Once I have this into a loopable set of objects I think it should be pretty straightforward to do.
Thanks!

I don’t have access to my PC right now, but it should be possible to copy the Newtonsoft.Json.dll into the folder where TabularEditor.exe resides, and then on the Advanced Scripting tab, I believe there’s a “References...” button, that should let you include the .dll. Once you do that, your script should be able to access classes from the .dll but you have to fully qualify them. Eg.
dynamic stuff = JsonConvert.DeserializeObject("{ 'Name': 'Jon Smith', 'Address': { 'City': 'New York', 'State': 'NY' }, 'Age': 42 }");

string name = stuff.Name;
string address = stuff.Address.City;

I’ll work on adding better JSON support in a future build. In fact, in addition to Annotations, Analysis Services now also supports something called Extended Properties, which are similar, but allow you to store pure custom JSON within the model metadata, instead of having everything encoded into a string.

I can't find any references... button? in either the toolbar

or in the menu or in the preferences anywhere. Does that mean it isn't going to be possible until you add direct support for this?

Further on this, I have used a regex to parse the json for now. I am bringing the values into anonymous classes but it seems that these are not supported very well in dynamic mode in advance scripts?

var blah = new {hello = "world"};
blah.hello.Output(); // works

//// trying a typed list
//System.Collections.Generic.List<Object> collect = new System.Collections.Generic.List<Object>();
//collect.Add(blah);
//collect[0].hello.Output(); // errors with: 'object' does not contain a definition for 'hello' and no extension method 'hello' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)
//
////trying dynamic
//System.Collections.Generic.List<dynamic> collect;
//collect.Add(blah);
//collect[0].hello.Output(); // errors with: Predefined type 'Microsoft.CSharp.RuntimeBinder.Binder' is not defined or imported
// trying Enumerator
var collect = Enumerable.Empty<object>().Select(r => new {hello = ""}).ToList();
collect.Add(blah);
collect[0].hello.Output();

The bottom one works (thanks to this post) but is pretty ugly. Any better ideas?

Sorry, I'm confusing an earlier build that had the "References..." button, but it was removed due to a security concern. Currently, there is no better way to parse JSON, but I'll make sure to include the Newtonsoft.Json lib as part of the libraries that are accessible from within the script engine with the next release.
On the longer term, I plan to support CSX scripting, which allows much more flexibility in terms of adding external libraries, defining classes and methods, etc.

I've added Microsoft.CSharp.RuntimeBinder.Binder as well as Newtonsoft.Json as included libraries by default. In addition, Newtonsoft.Json and System.Collections.Generic are part of the "namespace usings" for the script execution, meaning that with the next release, the following code will work:
var blah = new {hello = "world"};
var collect = new List<dynamic>();
collect.Add(blah);
Output(collect[0].hello);

Note that the Output(...) method can not be used as an extension method: collect[0].hello.Output(), so you'll have to use the syntax shown above. This is due to a limitation in C# where dynamic objects can not have extension methods.

@otykier I've just got back to this old code and wanted to start using the Newtonsoft methods using the above but can't find the right command
dynamic stuff = JObject.Parse("{ 'Name': 'Jon Smith', 'Address': { 'City': 'New York', 'State': 'NY' }, 'Age': 42 }");

string name = Output(stuff.Name);

I tried deserialise also.. is Newtonsoft still available to custom actions?

Found it.. it's
dynamic stuff = Newtonsoft.Json.Linq.JObject.Parse("{ 'Name': 'Jon Smith', 'Address': { 'City': 'New York', 'State': 'NY' }, 'Age': 42 }");

Output(stuff.Name);

Yep - remember you can now put using Newtonsoft.Json.Linq; at the top of your script, so you don't have to repeat it when you want to access the classes in that namespace (JObject, JArray, JToken, etc.):
using Newtonsoft.Json.Linq;

dynamic stuff = JObject.Parse("{ 'Name': 'Jon Smith', 'Address': { 'City': 'New York', 'State': 'NY' }, 'Age': 42 }");

Output(stuff.Name);


Copyright's year contains 2020

Copyright year on web page contains 2020 - might the good idea to update it to 2022

Fixed in https://github.com/ngoduykhanh/wireguard-ui/pull/126


missing "DEFINE" statement

the following statement is missing:
DEFINE
END-OF-DEFINITION
I solved replacing the followings on file "ABAP.tmLanguage":
<string>(?i)^\s*(class|method|form)\s+(?=[a-z_][a-z_0-9])</string>
with
<string>(?i)^\s*(class|method|form|define)\s+(?=[a-z_][a-z_0-9])</string>
and for the end statement replace
<string>(?i)(endclass|endmethod|endform)</string>
with
<string>(?i)(endclass|endmethod|endform|end-of-definition)</string>

hi, thanks!
Maintaining the ABAP.tmLanguage file is a bit tricky since there is no central one and rather it gets copied on a project by project basis.
I'll add your additions to this one and look for a possible way to get things more centralized.


Implement the add command to support date

Dependencies: #64
Format: add "DESCRIPTION" [on/by] [today/tomorrow/DAY/DATE]
E.g.

add "Buy Milk" on Thursday
add "Complete Assignment" by 14 Oct
add "Study maths" today
add "Submit assignment" tomorrow

*NOTE:

The DATE has to be in DAY MONTH YEAR format where the year is optional
If year is not specified, it is assumed to be this year or next year depending on the current date. However, the result of the add will be displayed and so the user can check whether is the task added correctly.
The DAY in DATE has to be numeric.
The MONTH can be in short form or in full. E.g. Feb or February, Apr or April.
The YEAR also has to be numeric
The DAY not in DATE can be in short form or in full. E.g. Mon or Monday, Thur or Thursday.

Refer to issue #63

Finish such support for date


[SECINTDEV-5] Fixing CRLF Injection

JIRA: SECINTDEV-5
Added a filter to sanitize CR & LF characters in response headers and added appenders to sanitize them in logging messages

Hi @malithie,
This needs to be reviewed.

Reviewed. Can merge.


Rename admin-sidebar to settings-sidebar

:nut_and_bolt: Description: What code changed, and why?
Lots of files touched, but this is a simple rename:
AdminSidebarComponent -> SettingsSidebarComponent
app-admin-component -> app-settings-component
The sidebar has long since gone from an admin-only sidebar
to a general-purpose settings sidebar.
Also, it has an accompanying settings-landing component,
so this name change makes things a wee bit more consistent.
:chains: Related Resources
NA
:+1: Definition of Done
Everything still works.
:athletic_shoe: How to Build and Test the Change
Rebuild automate-ui.
Exercise in the browser.

im curious why this thing is called a sidebar and not a nav?

@susanev I cannot speak to the original choice, but it seems to be consistent within the codebase that we use "sidebar" for all-the-vertical-things.
We have these "navbar" components:
navbar.component.html - the bar across the top of the page
(component-library-navbar.component.html -- this is part of the demo pages)

And a variety of sidebar components:
settings-sidebar.component.html
sidebar.component.html
   sidebar-no-shade.component.html
   sidebar-entry.component.html
   sidebar-select-list.component.html
compliance-reporting-sidebar.component.html
event-feed-sidebar.component.html
services-sidebar.component.html
profile-sidebar.component.html
client-runs-sidebar.component.html
(demo-sidebar.component.html)


MGDOBR-1060: use external secret operator in dev/stable environments

MGDOBR-1060
PR owner checklist
Please make sure that your PR meets the following requirements:

[ ] Your code is properly formatted according to this configuration.
Run mvn clean verify -DskipTests so that imports are correctly set.
[ ] Your commit messages are clear and reference the JIRA issue e.g: "[MGDOBR-1] - $clear_explanation_of_what_you_did"
[ ] The layers in the kustomize folder have been updated accordingly.
[ ] All new functionality is tested
[ ] Pull Request title is properly formatted: MGDOBR-XYZ Subject
[ ] Pull Request contains link to the JIRA issue
[ ] Pull Request contains link to any dependent or related Pull Request
[ ] Pull Request contains description of the issue
[ ] Pull Request does not include fixes for issues other than the main ticket

PR reviewer(s) checklist

[x] Check if code and Github action workflows have been modified and if the modification is safe
[x] If the modification is safe, add the safe to test label

How to trigger pipelines and use the bots:

Run the end to end pipeline
Annotate the pull request with the label: safe to test. If you want to run the pipeline again, remove and add it again.

Rebase the pull request
Comment with: /rebase.

Deploy BOT
Comment with `/deploy <dev,stable> when the PR has been merged to deploy to a target environment.

Thanks @r00ta . My comments are more around our process:

How are we going to give the rest of the team access to manage/update the Secrets? We probably need each dev team member to have an AWS account with very limited permissions to update certain secrets? Maybe something that @msmagnanijr can help us with?

yes

Our SOP for secret management in dev / stable needs updating: https://github.com/5733d9e2be6485d52ffa08870cabdee0/sandbox-sop/blob/main/sops/update_secrets.asciidoc

https://github.com/5733d9e2be6485d52ffa08870cabdee0/sandbox-sop/pull/7

cheers, Rob

@r00ta What about CI overlay, will it be also migrated to use secret operator?

@r00ta What about CI overlay, will it be also migrated to use secret operator?

Yes, but in another PR

/deploy dev

/deploy dev


UX Issue when creating new dialog using Add button

Describe the bug
When I create a new dialog using the "Add" dropdown, then click the "BeginDialog" trigger, it opens a blank page and I can't edit the dialog. If I create the dialog from within a "Begin a new dialog" action with the "Create a new dialog", I can click the BeginDialog trigger and edit it as expected.
Version

Application SHA
test
SDK runtime packages
4.7.0-preview-191208-1
(master branch as of 4/28/20)
Browser

[ ] Chrome
[ ] Safari
[ ] Firefox
[x] Edge

OS

[ ] macOS
[x] Windows
[ ] Ubuntu

Screenshots

Additional context

sounds like you hit https://github.com/microsoft/BotFramework-Composer/issues/2775. it has already been fixed.


Added the ability to set an ImageFileField with bytes.

I found that I deal with image bytes quite often from pasting an image into the browser or from reading a profile picture from LDAP. Most fields work like properties where you can directly set the value. I added this functionality for the FileField with bytes.

Hi Justin, I'm not convinced by this implementation -- especially the automatic name generation. Assuming the file is a png seems arbitrary. Perhaps your application should use a function to wrap the bytes in a File as needed. By the way, the first step to contributing is to get an accepted Trac ticket, not to send a pull request.


Include CSS, JS and data files at a material level, exclude from pattern listing

This may be a feature request, or a more general question! If I wanted to have all assets (JS, CSS, JSON etc…) relating to a component placed together in the same folder (i.e. within a folder within the materials folder), how might I exclude these supporting assets from being rendered on the output pattern library? Is this simply something that can be achieved in handlebars templates, or does it require fiddling with the output of items some other way?

The default glob for materials is pretty inclusive src/materials/**/*. You should be able to pass a new pattern to the assemble() task in the gulpfile.js.
Something like this:
// assemble
gulp.task('assemble', function (done) {
    assemble({
        materials: 'src/materials/**/*.html',
    });
    done();
});

https://github.com/fbrctr/fabricator-assemble#options

Ah ha! That makes a lot of sense actually. Thanks (and closing).

@paulrobertlloyd we'll probably be following the same approach with our Fabricator toolkit. I'd very much like to see how yours turned out if it's available anywhere?

@jameswragg It’s not public, I’m afraid (and by all accounts, the project is going in a different direction now…). Sorry!


Reporting a vulnerability

Hello!
I hope you are doing well!
We are a security research team. Our tool automatically detected a vulnerability in this repository. We want to disclose it responsibly.  GitHub has a feature called Private vulnerability reporting, which enables security research to privately disclose a vulnerability. Unfortunately, it is not enabled for this repository.
Can you enable it, so that we can report it?
Thanks in advance!
PS: you can read about how to enable private vulnerability reporting here: https://docs.github.com/en/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository

@igibek Hi,

Can you enable it, so that we can report it?

Enabled. It should work now.
Thanks,
Kornilios.


session_0/kavyabhat

Could you please review my code for fizz_buzz and item?
It works fine on the interactive console, but fails the test cases when I upload the files.

Hey Kavya!
Instead of editing the existing files i.e. session_0/fizz_buzz.rb, you have created two new files fizz_buzz.rb and item.rb.
Thus your folder looks like:
$ ls -lsR
session_0/
  fizz_buzz.rb
  fizz_buzz_test.rb
 ...
session_1/
...
fizz_buzz.rb

Please make your changes to session_0/fizz_buzz.rb instead.

Hey Kavya!
Instead of editing the existing files i.e. session_0/fizz_buzz.rb, you have created two new files fizz_buzz.rb and item.rb.
Thus your folder looks like:
$ ls -lsR
session_0/
  fizz_buzz.rb
  fizz_buzz_test.rb
 ...
session_1/
...
fizz_buzz.rb

Please make your changes to session_0/fizz_buzz.rb instead.

Okay, thanks, I didn't realize that.

Okay, thanks, I didn't realize that.


In-app tutorial

I would also recommend making the app functionalities more discoverable while in normal operation, not just in tutorial mode. For example:

Having icons with labels rather than just a pictorial representation
Showing a legend, possibly attached to a "?" icon, to explain the meaning of what's in the screen (e.g. in the addresses mode. it's not clear what a white vs. a yellow box means, or what a box with a question mark vs an empty box means, etc.; and in the POI mode, it's not clear what the black checkmark next to the listed POIs means, and how it differs from a green checkmark, etc)
Allowing long-press on interface elements (e.g. buttons) to show a help/about dialog for the pressed item

Long presses already work, other than that, good suggestions, thanks.

Sorry, could you give me an example or two of elements that accept long presses? I've tried in various places throughout the app (in the map, in specific POIs drawn in the map, in some of the icons/menus, etc.) and nothing seemed to react to a long press.

First, make sure you're using version 0.9. Then try long presses on any of the buttons in the bottom row.

I confirmed that I am using 0.9, but long-pressing the bottom row buttons doesn't do anything (it behaves the same as a simple tap when I release the press). :thinking:

Ah, sorry, I've consulted the changelog, and this was done in 0.10. Which is still on review in the Google Play store.


Provide zero-cost Optioned

This uses char::from_u32_unsafe(u32::MAX) as the none value. This is not a valid char value, and will never be a valid Unicode code point. Because of this, it is possible to provide a zero cost Optioned<char> by assigning the Noned value to this invalid code point.
So long as Optioned holds its contract of not giving out the noned value, this can in no way be memory unsafe because the fake char is only used as a sentinel, and never as an actual character.

Failure is not mine; it's #20.

Hey, thanks for this! Unfortunately, both my operating systems broke down recently, so I'm still in the process of setting up and cannot test this over the weekend. I hope I can get around to it next Monday. I'm sorry to let you wait, but I'd really like to test it before merging.

Thanks again, merged. Will publish shortly.


[Question] Arduino vs GPIO?

Hello,
Just stumbled upon this project after building something similar from another guide: https://timleland.com/wireless-temperature-sensor/
It seems we both used a 433mHz receiver, but you plugged yours into an Arduino, which in turn was connected to your Pi via USB.
In my case, I attached a similar receiver to the GPIO pins of my Pi 3.
I'm pretty new to all this, so I was wondering if there was any special reason to use the intermediary Arduino, instead of connecting directly to GPIO, and if the rest of your instructions could work for someone like me who used a direct GPIO approach.
Thanks!
Dave

Thanks for being interested in my project!
The main reason to use the Arduino is performance. Instead of letting the PI periodically poll for signals and compress the timings, the Arduino is doing it externally on it's own chip. This is the software flashed to the Arduino for that reason here. With the PI 3, performance is probably not that critically anymore, though.
This is the what the Arduino prints to a device file (usually /dev/ttyUSB0) and what the weather-station takes as input:
RF receive 453 1992 88 9228 0 0 0 0<PHONE_NUMBER>0201020101010101010102010101010202010202020202010102010102020203

If you want to use the receiver connected directly to GPIO, you somehow need it to output signals in the same format as shown above. How do signals look like received via GPIO, are they raw?

Thanks for the insights, @jckuester !  I'm using a Pi3, and indeed I'm observing that the program that polls and decodes the signal is consuming about 25% CPU constantly.  I'm using a dedicated Pi for this purpose, so this is fine for me.  Here is the code I found from the tutorial which polls and decodes the signal: https://github.com/timleland/temperaturesensor/blob/master/capture.cpp
I modified it slightly to output the temperature readings to a log file instead of to a database.  I'm then capturing metrics from the log file and tracking them over time with prometheus.io.  I'll write-up a blog post about this sometime soon.


e2e: remove waitForCheckpointDeactivation.

Hopefully with the new, better checkpointer this shouldn't be needed
anymore.

coreosbot run e2e

coreosbot run e2e

I guess we still need it... :-/

Close?

I don't know. I suppose I'd like to look more closely into the failures. Adding do not merge.

Closing in favor of #784


Add functions that could scale the histogram.weights?

E.g. log10 to avoid the workaround for plotting I currently have. Would involve 0 -> NaN for the conversion.

Worth watching the PR for makie colorscale argument before I do anything though..

colorscale argument looks to have been added so check see if this can be updated to use colorscale = log10.


Ensure that stacks are marked as non-executable

@xtachyon showed me an article today about how GCC closures require stacks to be executable because of trampolining. We should ensure that our stacks are marked as non-executable for security reasons.
Thanks to @pythondude325 for thinking of this :)

Update: this is in fact an issue. The solution is to pass -z noexecstack, but I need to make sure that's also compatible with MacOS/Windows.
$ rcc tests/runner-tests/hello_world.c
$ readelf -l a.out

Elf file type is DYN (Shared object file)
Entry point 0x530
There are 9 program headers, starting at offset 64

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  PHDR           0x0000000000000040 0x0000000000000040 0x0000000000000040
                 0x00000000000001f8 0x00000000000001f8  R      0x8
  INTERP         0x0000000000000238 0x0000000000000238 0x0000000000000238
                 0x000000000000001c 0x000000000000001c  R      0x1
      [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
  LOAD           0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x0000000000000810 0x0000000000000810  R E    0x200000
  LOAD           0x0000000000000db8 0x0000000000200db8 0x0000000000200db8
                 0x0000000000000258 0x0000000000000260  RW     0x200000
  DYNAMIC        0x0000000000000dc8 0x0000000000200dc8 0x0000000000200dc8
                 0x00000000000001f0 0x00000000000001f0  RW     0x8
  NOTE           0x0000000000000254 0x0000000000000254 0x0000000000000254
                 0x0000000000000044 0x0000000000000044  R      0x4
  GNU_EH_FRAME   0x00000000000006f4 0x00000000000006f4 0x00000000000006f4
                 0x0000000000000034 0x0000000000000034  R      0x4
  GNU_STACK      0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x0000000000000000 0x0000000000000000  RWE    0x10

This is going to be annoying because non-gnu compilers will reject unknown arguments.
ld: unknown option: -z
clang: error: linker command failed with exit code 1 (use -v to see invocation)


[osg] Add Collada model support to OpenSceneGraph

Collada models are .dae files, and are the only open format you can download from 3dwarehouse.sketchup.com.

@calumr Sorry for the tremendous delay in processing this PR -- we're focusing very heavily on processing PRs now!
Is the fix-virtual-method.patch patchfile necessary here? I tried building this port without it and everything seemed fine. In general, we try to avoid intrusive patches to libraries in vcpkg in order to void deviating from the library's functionality. If the library needs to be significantly patched, we prefer that the project takes the changes as a PR.
Would this PR be something we could accept without the virtual method patch?

The patch was a hack to work around a crash in daeIOPluginCommon::beginReadElement. When you try to load a .dae file in OSG, it crashes in here and I didn't get the time to debug the issue. I can't recall why I tried making the methods virtual, but it worked.
I don't have time to investigate a fix right now. If possible I'd prefer to merge without the fix-virtual-method.patch and I will come up with a proper fix when my team is finished our current release.
I could try attaching a minimal test case that reproduces the bug?

Actually I think this is just a case of missing -DCOLLADA_DOM_SUPPORT150 out of the osg build. I'll submit a patch soon.

Okay, this PR is looking pretty good to me! Let's get it merged 😄 Thanks for this, and sorry again for the significant delay in processing this!


Fix ipv6 1.1

This PR is part of Add IPv6 Support #1756

Hi @zhaohuabing. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@zhaohuabing you cannot do it this way as it will break completely ipv4. I am working on ipv6 support as well, and ipv6 enabling will be controlled by a flag in help chart. I am waiting for 1.1.1 to open to add required logic.
@rshriram @costinm

@sbezverk You're right, I closed this PR.
Looking forward to the full IPv6 support in 1.1.1


Initial draft for Cinema4D Integration

Changelog Description
Initial integration for Cinema4D to AYON
Additional info

[x] Workfiles work
[x] Loader works + Scene Inventory (manage...)

[x] Load and manage Xref
[x] Load and manage Alembic

[ ] Support updating when the objects are editable (Make Editable (shortcut: C))

[x] Publisher works.

[ ] Implement pointcache product type publish
[ ] Implement camera product type publish
[ ] Implement render product type publish

[ ] Persist IPublishHost context data so that Context attributes persist in publisher
[ ] Add python3.dll for Python 3.11 to support Qt in most recent Cinema4D releases (now I tested with C4D 2023.2)
[ ] Initialize frame rate, resolution, OCIO for new workfiles automatically - this apparently is near impossible in Cinema4D because there are no "SceneHooks" that trigger when creating a new document.

Requires other PRs

https://github.com/ynput/ayon-applications/pull/36
https://github.com/ynput/ayon-core/pull/919

Testing notes:

Set everything up
Cinema4D should launch via AYON Tray

AYON menu should be available.

The menu entries like workfiles, loader, etc. should all work and do something.

Some history to this 🦕
Things have come a long way.
I'm not a Cinema4D user nor do we use it at my studio, but I've always enjoyed playing around in multiple apps and try and integrate them into the pipeline. Even back in the Avalon pipeline days - and I'm sure @mottosso had plenty of head scratching when I yet again tried to 'get another tool in the box' for Avalon. And maybe even before that was @anjos dealing with Cinema4D with Pyblish
That even ended up under the arms of @jasperges for dutch studio Job, Joris en Marieke where they actually did a full animated series with Cinema4D integration inside Avalon (not public code; but Jasper was kind enough to provide me access but I never found the time).
Later, @ninglesby made an attempt in OpenPype which unfortunately died off at the time.
But, time for resurrection after the dinosaur extinction. ☄ Let's give it another attempt yet not forget the coding tears and sacrifices of the past. So thanks do also go out to @jasperges, Job, Joris en Marieke, @anjos, @mottosso and @ninglesby - and others who shared some tears through that in the past. 🥇
But most important of all - I'm still not a Cinema4D users, so to really get this to 'more than just for fun' we need users to start using it.

Thanks for the mention, happy to see Pyblish and Avalon still making a difference out there in the world. ❤

Ah cool, nice to see you were finally able to work on it again! :rocket: :tada:


<T1_KSHN>: Thiết kế hệ thống

Link release: https://github.com/HCMUS-OSSD/T1_KSHN/releases
Link wiki: https://github.com/HCMUS-OSSD/T1_KSHN/wiki/System-Specification
Assignee: @ndhuyfit

OK
Thầy đã nhận được link của em
On Sun, May 28, 2017 at 5:12 PM, minhmeo753<EMAIL_ADDRESS>wrote:

Link release: https://github.com/HCMUS-OSSD/T1_KSHN/releases
Link wiki: https://github.com/HCMUS-OSSD/T1_KSHN/wiki/System-Specification
Assignee: @ndhuyfit https://github.com/ndhuyfit
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HCMUS-OSSD/HuongdanThuchanh/issues/32, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AIuy5rt7jv8o1UOtBNf8nQONobCB_Gziks5r-UiCgaJpZM4NnhpM
.

--
Nguyen Duc Huy
Department of Software Engineering
Faculty of Information Technology
University of Science, VNU (HCMC)
227 Nguyen Van Cu St., Dist. 5. HCMC, Vietnam
<EMAIL_ADDRESS>- www.fit.hcmus.edu.vn/~ndhuy

@ndhuyfit thưa thầy, nếu thấy không có gì cần sửa thì xin thầy đóng issue để chứng tỏ tụi em hoàn thành yêu cầu ạ.
Cảm ơn thầy


Power for robot is unsatisfactory, at best

The current design of the bot uses a 65-watt USB C power bank and a USB PD breakout board to deliver 65W at 20V to the main buck converter. While this works it is far from ideal. The powerbank is heavy, a majority of the weight of the bot itself which is putting more strain on the motors. The USB PD board is not acceptable considering the amount of heat it outputs, leading to more energy loss.

There is currently a plan to switch over to some form of power tool battery to stop using the USB PD board as it gets far hotter than a component in spec should. This switch would also add a fuse leading to some actual safety measures in the bot.
However, this switch is going to be costly so it will not happen until the limits of the 65W battery have been reached.

Battery conversion has been completed, BOM needs to be updated


gh-pages is missing CNAME file

I've just realized that the docs pages don't work, GH is reporting 404 and after I checked the gh-page branch I've seen that the current version is missing the CNAME file.

I was fixing the docs and run update-docs.sh before realizing it requires a globally installed gitbook-cli which I haven't installed 😂  It should be fixed now.


Misalingment of Window icons

This is a small misalignment. The minimize button is positioned slightly below the center as shown below

As you can see above the minimize button is not exactly aligned with the center of the square next to it.
Not only that the all window controls are actually misaligned from the center as shown below

The red line denotes the center of the title bar
I haven't developed any theme for Obsidian and hence not sure how to fix this. The theme.css file is $8768$ lines long. It'd be better to align the window controls in the vertical center.
But overall, this theme is extremely good.

Sorry, the minimize button is intentionally designed this way. It's actually a replica of the following image:

You can import the following CSS code snippet to align it:
.titlebar-button-container.mod-right .titlebar-button.mod-minimize::after {
    -webkit-mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='black' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
}

Oh thanks.

Thank you!


focus-follows-mouse raises windows below preferences window

To better illustrate, I have made a short screen recording:

Is this to be considered a bug or do I have configured something wrong?
Relevant excerpt from .kwm/kwmrc:
# Turn off focus-follows-mouse if any
# context-menus or the menubar is visible.
# If the menubar is not set to auto-hide,
# disable this setting.
kwmc config menu-fix disable

# Set focus-follows-mouse-mode to autoraise
# kwmc config focus autoraise

# Enable mouse-follows-focus
kwmc config focus mouse-follows disable

I suspect it may be the menu-fix disable part I changed as per your suggestion.

This is due to focus-follows-mouse being autoraise. Which gives focus and brings the window to the front. You could try looking into autofocus, but I have no idea how well that performs as I rarely use it myself.

Edit: Ok what, this should not be happening unless the cursor actually moves outside of the preferences window.

That's exactly what was bugging me. Autoraise is completely expected, once the pointer actually leaves the current window, not before.

I have a feeling that this is not caused by any focus-follows-mouse settings in general, but rather Kwm not detecting that the preference window is there at all, which is also why it did not get tiled.
This is not something I can fix within Kwm, but I have provided a system that allows user to allow specific windows that misbehave, to be detected by Kwm.
See last edit of my previous post.

Thanks. I have added the following line and restarted kwm:
kwmc config add-role AXSystemDialog Bartender Preferences

Unfortunately, this did not work. According to Accessibility Inspector, the hierarchy of the window is:
AXApplication
    AXWindow:AXSystemDialog

kwmc config add-role AXSystemDialog Bartender 2 should do it.
To find the proper name, you can add the following to line 152 of window.cpp:

DEBUG(KWMTiling.WindowLst[WindowIndex].Owner)

Indeed, this did it. Thanks! But why Bartender 2?

You need the name of the application, and not the specific window.
In all cases I've come across so far, the name you have to specify seems to match the name of the .app file/folder, which I assumed was Bartender 2.

Great, that should make it easier to set it up. Thanks!


Entire tree traversal

This probably shouldn't be used often, but in some cases (even just external tests) it would be useful to have something like a entire tree iterator to iterate over all (id, bounds) pairs.

The tree doesn't actually know the bounds of an element, just an upper bound. Would you want that?

The bounds would be useful to be able to queue (after traversal) some elements for removal based on their values, so I guess the upper bound would work for that, right?

Ah, that makes sense, yeah.

Counterpoint: why not fetch the bound from the T, as you're generally presumed to be able to do efficiently?

Yeah that sounds good, so the iterator could either return usize (look up the &T with get) or (usize, &T) pairs

Probably (usize, &T), so that the iter_mut variant can yield a &mut T while the iterator is live.

Implemented naively in 3d1bc7a31a737abec88eb30eb625de92fbc59153.


Merge master into develop

Automatically created PR for merging master to develop.
NB: There are merge conflicts that must be resolved manually!
A merge branch has been created where you can resolve these conflicts: merge/auto/master-to-develop .

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
253

Relevant Lines:
254

💛  - Coveralls


MM-12206 Revert accidentally merged master changes on release-5.3 branch

https://github.com/mattermost/mattermost-webapp/pull/1679 was accidentally created against master, and it got merged into release-5.3 by mistake without removing the master-specific changes. This PR reverts that one, but then cherry-picks the intended changes back onto the release branch.
I've done a few quick tests to ensure that the data picker is styled correctly, but the other changes to translation strings and such have been correctly reverted
Ticket Link
https://mattermost.atlassian.net/browse/MM-12206

@cpanato Also, I can't remember if we're still merging the release branch into master after the release has been cut, but that should not happen once this PR is in or else it'll revert all those PRs that were accidentally merged into the release branch

we merge only for the x.y.0 release, after that we dont merge anymore @hmhealey


SQL Enterprise Requirement Not Documented

Windows Server 2016 enforces a requirement of SQL Server Enterprise if a customer wants to use an external database for IPAM.  This wasn't the case in Windows Server 2012R2 and it's not documented here as a change.  Please update.  Thanks.

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

ID: 57a0e92d-0bf2-ff2c-452f-821e6ce0b8ec
Version Independent ID: 7ff6173e-4594-5fc6-f099-56ae3ac632e3
Content: What's New in IPAM
Content Source: WindowsServerDocs/networking/technologies/ipam/What-s-New-in-IPAM.md
Product: windows-server
Technology: networking
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


How we can set access logs with api gateway stage?

How we can set access logs with api gateway stage?

@jitesh-prajapati123
Are you asking about the settings in the below image?

I'm going to close this as it's not zappa specific.
For more details on configuring apigateway logging  see:
https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html


Possible problem when inputs are duplicated

Saw a traceback from the cirrus process function calling Catalogs.process():
Traceback (most recent call last):
File "/var/task/cirruslib/statedb.py", line 80, in get_dbitems
'Keys': [self.catid_to_key(id) for id in catids]
File "/var/runtime/botocore/client.py", line 386, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/var/runtime/botocore/client.py", line 705, in _make_api_call
raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (ValidationException) when calling the BatchGetItem operation: Provided list of item keys contains duplicates

Seems like a bug where duplication of an input item combined with lambda message batching can result in the process lambda trying to process all the duplicated messages at the same time, and then the state DB query fails due to duplicated item IDs.
We likely should not allow duplicate items to be added to the Catalogs object, but how best to handle that could be tricky. On one hand we'd want to delete the duplicate message, but on the other how do we know they are identical, and if not, which is the "better" one? Perhaps we can treat it as first always wins, because if message batching didn't have the duplicates processed via a single execution then that would be the effective result with the statedb lookup anyway.
Based on the above complication, I am making this issue here rather than in cirrus-lib, even though the latter will also require modification. Once we determine what that is we can make a more specific ticket on that side to track that work.

After further consideration, I still feel that first processed wins, and any additional payloads for the same input items simply get ignored.

Not sure I quite understand the issue - the error is happening in get_dbitems because, presumably, the array passed to get_batch_item contains duplicate IDs.
So can't you just create the array first and take the set to ensure it's only unique IDs?
self.payload_id_to_key(id) for id in set(payload_ids)

or, is it assuming a fixed size array in the response that corresponds to IDs that were passed into the function?

@matthewhanson The problem is not deduplicating the IDs in the dynamo query; you are right, that part is easy. The question is how we are going to handle multiple payloads for the same input IDs. Do we just assume the first payload we receive for a given set of inputs is the one we process, and we drop any additional ones? I think that is all we can do, but I wanted to bounce that off you to make sure I wasn't missing something.

Fixed by cirrus-lib release 0.6.2.


Fix multinode label assignment for BonnyCI jobs, clean noop tests

This explicitly defines node labels for the bonnyci-run-* jobs instead
of using job templating, which apparently does not work as I thought.
Also, this jobs the test stubs that we needed to put in place to get
the first commit through the gate, and it drops unused job config.
Signed-off-by: Adam Gandelman<EMAIL_ADDRESS>

Build failed.

http://logs.bonnyci.com/check_github/BonnyCI/hoist/142/1487026630.1/bonnyci-run-check-multinode : FAILURE in 54s

recheck

Build failed.

http://logs.bonnyci.com/check_github/BonnyCI/hoist/142/1487027062.71/bonnyci-run-check-multinode : FAILURE in 18s

recheck

Build failed.

http://logs.bonnyci.com/check_github/BonnyCI/hoist/142/1487027357.63/bonnyci-run-check-multinode : FAILURE in 53s

recheck

Build failed.

http://logs.bonnyci.com/check_github/BonnyCI/hoist/142/1487027644.37/bonnyci-run-check-multinode : FAILURE in 53s

recheck

Build failed.

http://logs.bonnyci.com/gate_github/BonnyCI/hoist/142/1487031011.0/bonnyci-run-gate-multinode : FAILURE in 55s

gate-recheck


Create a Test without CSV

I'm trying to create a Test instance without CSV but I don't understand some functions in base.
My structure is like:

1,0,out

"out" dont matter for now, I only want to create the initial 1,0 .
Already I do this:
testData := base.NewStructuralCopy(trainData) // I need use the original structure
testData.Extend(1) // Only one item test (this create "0,0,default")

spec := base.ResolveAttributes(testData, testData.AllClassAttributes())[0] // Work
testData.Set(spec, 1, []byte{1}) // Dont Work
spec1 := base.ResolveAttributes(testData, testData.AllClassAttributes())[1]
testData.Set(spec1, 1, []byte{0})

The error is: "panic: Tried to call set() with 1 bytes, should be 8"
Thank you

It might be because you're on a 64-bit platform and need 8 bytes to make an integer? Try
testData.Set(spec, 1, []byte{0, 0, 0, 0, 0, 0, 0, 1}) and see if you get something different?


Define abac setup for the cluster

https://kubernetes.io/docs/reference/access-authn-authz/abac/

Main questions:
what roles do you have by default?

EmergencyAccess
Database Engineers
DevOps Engineers
Security Engineers
Network Engineers
DeveloperAdmin
DeveloperUser
Technical Account Manager
Incident Response Engineer
Observer

what is the difference between role access level?

EmergencyAccess is highly privileged Admin access, no restrictions on actions.
DeveloperAdmin is highly privileged but is not SCP exempt for anything
DeverloperUser, Database, DevOps, Security, Network, TAM and Incident Response (EOC) are all job role specific, matching least privilege to their ability to perform standard job functions. Effective permissions vary role to role but overall match the task. Example: DevOps has SystemAdministrator like permissions, Database has Database Admin permissions, etc. All roles are subject to SCPs, unless specifically exempted.
Observer is strictly read-only, this serves as the landing for all user access. Unless there is a job need to promote to one of the higher levels of permissions everyone should start with this role.

do you have roles that can ignore SCPs?

Yes, in general we use SCPs to enforce actions through code deployments and ensure change management is followed. There are some exceptions allowed, such as Administrator Role can bypass most all SCPs but this is limited to a handful of members. EmergencyAccess can bypass all SCPs. Network Engineer can bypass the Networking service SCPs. Security Engineers can bypass the security service SCPs.

@smtm001
we can start with for admin:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: cluster-admin
rules:
- apiGroups: ["*"]
  resources: ["*"]
  verbs: ["*"]

for devs:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: view
rules:
- apiGroups: ["*"]
  resources: ["*"]
  verbs: ["get", "list", "watch"]


Missing Policy Definition

document does mention Adaptive Application Controls which is present in ASC -->Policies--> under Compute and Apps

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

ID: f062227a-b448-830a-5022-edf47deeae41
Version Independent ID: 9b911a98-7036-fbec-b542-bd4264f1edb8
Content: Azure Security Center security policies can be set individually or as part of Azure Policies
Content Source: articles/security-center/security-center-azure-policy.md
Service: security-center
GitHub Login: @TerryLanfear
Microsoft Alias: terrylan

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

@ezlbrmn Can you please provide more details what exactly your issue is and which policy definition is missing and from where ?

@ezlbrmn I think I got it what exactly you are saying and I have assigned this issue to content author to investigate and update the document as appropriate. Thanks for the feedback !
@TerryLanfear Can you please help adding the "Adaptive Application Controls" to Available security policy definitions section.

@ezlbrmn - Thank you for your suggestion. This update has been made.

#please-close


How to share an application insights instance across ASP.NET Core (C#) and React (typescript)?

Hi,
How do I share an application insights instance that has been created via the .NET application insights package with my typescript frontend?
I know that I could create another instance in our typescript frontend, but that would require me to encode a connection string in our app (unless the typescript application insights package can consume an environment variable, which I've not seen documentation for but I may have missed). I've wired up ApplicationInsights for the .NET part of the codebase by using an environment variable for the connection string, which allows us to use Azure to point the deployed App Service to a particular regional application insights resource, without having to encode any connection strings within the app. The .NET Application Insights package natively knows how to search for this environment variable, hence the only programmatic set-up from the .NET side needed is to add the telemetry as a service.
Now, I would like to be able to "share" this instance with the typescript frontend, such that I can use the same instance for logging in both parts of the codebase. I know that this is possible because we have a legacy web codebase that does just that - but despite my digging and researching I'm unable to determine the correct way to plumb this. There seems to be zero initialization or "wiring" from the typescript side in the legacy codebase, so I'm at a bit of a stand-still.
For context, our controllers, data handlers, etc. all live in .NET-land while our UX lives in React, so I'd like to be able to log from both places.
Any insights (no pun intended) would be much appreciated. Feel free to reach out to me on Teams as well if that's easier! Thanks so much.

AJN

Ok, when you enable codeless attach this causes the SDK to be downloaded and initialized from the CDN.
As part of this initialization this creates a global appInsights on window to enable you to use it.
So for you typescript front end you could either change to use this global (assuming that you are using NPM) -- you will probably require some wrappers around the typings for the global or perhaps just declare a global as the main AISku instance and keep using the typing from the npm package.
Probably (I've not tried this), something like
declare var appInsights: IApplicationInsights;
Where the IApplicationInsights comes from @microsoft/applicationinsights-web
Or.
Disable codeless attach and just use npm, of course as you pointed out you would need to get your connectionString / instrumentationKey into you npm based initialization (assuming you don't already hard code it)

Thanks for the input @MSNev. Yes, I'm currently using npm to pull the microsoft/applicationinsights-web package.
Right, so the old codebase that does this defines an extension to the global window interface that adds appInsights a la:
declare global {     interface Window {         ...         appInsights: any;         ...     } }
And just defines a telemetry client a la
private _telemetryClient: IAppInsights = window.appInsights;
Can you elaborate on codeless attach - how do I enable/disable this? When trying to mock what I had seen above, basically the window's appInsights var was undefined, so I assume I'm missing the codeless attach part which does the init that you mentioned above.

The codeless attach is a feature of hosting your application in the Azure portal and I believe that there is a configuration in the UI the enable / disable @Karlie-777, Can you please provide a link to the documentation for this. It works as a filter on the outbound (returned) HTML page where it injects a code snippet onto the page to cause the SDK to be downloaded.
It is also possible via a .Net NuGet package (I can't find the links) where in your application you add a small code reference which will cause effectively the same code snippet to be added to the response generated by your server.
If appInsights is undefined then neither of the above are in place (as this script is dropped into the head section of the HTML and adds the global and provides some proxy functions (not the entire SDK API) to capture the SDK calls that are replayed (re-executed) once the SDK is loaded -- basically this means that if your attempting to use some of the SDK functions that are not proxied they will fail (because the functions are undefined) until the SDK is loaded (which may fail if the user has an Ad Blocker installed).
These are the only functions that are proxied which means your _telemetryClient (may) fail if you are calling any other functions and either the SDK has not yet loaded or failed for some reason.

@alexnesh .NET Core supports client-side monitoring , this link:  .NET Core Enable client-side telemetry for web applications might help. But this feature actually injects JavaScript ApplicationInsights instance (with the connection string in your .NET Core app environment variables) via CDN into every returned response instead of "sharing instance".

Great - looking at the docs @Karlie-777 linked, it looks like the snippets need to be included in _ViewImports.cshtml and _Layout.cshtml. I had done the _ViewImports.cshtml snippet, but because this is a React app with ASP just used for pinging services, data management etc., there is no _Layout.cshtml. The document @Karlie-777 linked accounts for this via:
_If your project doesn't include Layout.cshtml, you can still add client-side monitoring by adding the JavaScript snippet to an equivalent file that controls the  of all pages within your app.
Looking at the document linked in this comment, it mentions manually adding the following script to your index file:
<script type="text/javascript"> !function(T,l,y){var S=T.location,k="script",D="instrumentationKey",C="ingestionendpoint",I="disableExceptionTracking",E="ai.device.",b="toLowerCase",w="crossOrigin",N="POST",e="appInsightsSDK",t=y.name||"appInsights";(y.name||T[e])&&(T[e]=t);var n=T[t]||function(d){var g=!1,f=!1,m={initialize:!0,queue:[],sv:"5",version:2,config:d};function v(e,t){var n={},a="Browser";return n[E+"id"]=a[b](),n[E+"type"]=a,n["ai.operation.name"]=S&&S.pathname||"_unknown_",n["ai.internal.sdkVersion"]="javascript:snippet_"+(m.sv||m.version),{time:function(){var e=new Date;function t(e){var t=""+e;return 1===t.length&&(t="0"+t),t}return e.getUTCFullYear()+"-"+t(1+e.getUTCMonth())+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())+"."+((e.getUTCMilliseconds()/1e3).toFixed(3)+"").slice(2,5)+"Z"}(),iKey:e,name:"Microsoft.ApplicationInsights."+e.replace(/-/g,"")+"."+t,sampleRate:100,tags:n,data:{baseData:{ver:2}}}}var h=d.url||y.src;if(h){function a(e){var t,n,a,i,r,o,s,c,u,p,l;g=!0,m.queue=[],f||(f=!0,t=h,s=function(){var e={},t=d.connectionString;if(t)for(var n=t.split(";"),a=0;a<n.length;a++){var i=n[a].split("=");2===i.length&&(e[i[0][b]()]=i[1])}if(!e[C]){var r=e.endpointsuffix,o=r?e.location:null;e[C]="https://"+(o?o+".":"")+"dc."+(r||"services.visualstudio.com")}return e}(),c=s[D]||d[D]||"",u=s[C],p=u?u+"/v2/track":d.endpointUrl,(l=[]).push((n="SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details)",a=t,i=p,(o=(r=v(c,"Exception")).data).baseType="ExceptionData",o.baseData.exceptions=[{typeName:"SDKLoadFailed",message:n.replace(/\./g,"-"),hasFullStack:!1,stack:n+"\nSnippet failed to load ["+a+"] -- Telemetry is disabled\nHelp Link: https://go.microsoft.com/fwlink/?linkid=2128109\nHost: "+(S&&S.pathname||"_unknown_")+"\nEndpoint: "+i,parsedStack:[]}],r)),l.push(function(e,t,n,a){var i=v(c,"Message"),r=i.data;r.baseType="MessageData";var o=r.baseData;return o.message='AI (Internal): 99 message:"'+("SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details) ("+n+")").replace(/\"/g,"")+'"',o.properties={endpoint:a},i}(0,0,t,p)),function(e,t){if(JSON){var n=T.fetch;if(n&&!y.useXhr)n(t,{method:N,body:JSON.stringify(e),mode:"cors"});else if(XMLHttpRequest){var a=new XMLHttpRequest;a.open(N,t),a.setRequestHeader("Content-type","application/json"),a.send(JSON.stringify(e))}}}(l,p))}function i(e,t){f||setTimeout(function(){!t&&m.core||a()},500)}var e=function(){var n=l.createElement(k);n.src=h;var e=y[w];return!e&&""!==e||"undefined"==n[w]||(n[w]=e),n.onload=i,n.onerror=a,n.onreadystatechange=function(e,t){"loaded"!==n.readyState&&"complete"!==n.readyState||i(0,t)},n}();y.ld<0?l.getElementsByTagName("head")[0].appendChild(e):setTimeout(function(){l.getElementsByTagName(k)[0].parentNode.appendChild(e)},y.ld||0)}try{m.cookie=l.cookie}catch(p){}function t(e){for(;e.length;)!function(t){m[t]=function(){var e=arguments;g||m.queue.push(function(){m[t].apply(m,e)})}}(e.pop())}var n="track",r="TrackPage",o="TrackEvent";t([n+"Event",n+"PageView",n+"Exception",n+"Trace",n+"DependencyData",n+"Metric",n+"PageViewPerformance","start"+r,"stop"+r,"start"+o,"stop"+o,"addTelemetryInitializer","setAuthenticatedUserContext","clearAuthenticatedUserContext","flush"]),m.SeverityLevel={Verbose:0,Information:1,Warning:2,Error:3,Critical:4};var s=(d.extensionConfig||{}).ApplicationInsightsAnalytics||{};if(!0!==d[I]&&!0!==s[I]){var c="onerror";t(["_"+c]);var u=T[c];T[c]=function(e,t,n,a,i){var r=u&&u(e,t,n,a,i);return!0!==r&&m["_"+c]({message:e,url:t,lineNumber:n,columnNumber:a,error:i}),r},d.autoExceptionInstrumented=!0}return m}(y.cfg);function a(){y.onInit&&y.onInit(n)}(T[t]=n).queue&&0===n.queue.length?(n.queue.push(a),n.trackPageView({})):a()}(window,document,{ src: "https://js.monitor.azure.com/scripts/b/ai.2.min.js", // The SDK URL Source // name: "appInsights", // Global SDK Instance name defaults to "appInsights" when not supplied // ld: 0, // Defines the load delay (in ms) before attempting to load the sdk. -1 = block page load and add to head. (default) = 0ms load after timeout, // useXhr: 1, // Use XHR instead of fetch to report failures (if available), crossOrigin: "anonymous", // When supplied this will add the provided value as the cross origin attribute on the script tag // onInit: null, // Once the application insights instance has loaded and initialized this callback function will be called with 1 argument -- the sdk instance (DO NOT ADD anything to the sdk.queue -- As they won't get called) cfg: { // Application Insights Configuration     connectionString: "CONNECTION_STRING" }}); </script>
This necessitates manually encoding the connection string, which is what I'm trying to avoid. So I guess the question is: for a react app where there is no _Layout.cshtml, can the CDN injection still find a way to use the ASP.NET Core env variable for the connection string?
Thanks for the support!
-AJN

@alexnesh I remember there is  .env file in react apps (I might be wrong), and if you add prefix REACT_APP_ to your env variables, for example REACT_APP_CS = connectionstring it could be used by client side. and inside html, you could use connectionString: %REACT_APP_CS%


Frontpage tweaks

The part of the site we pay the least attention to, yet has the highest (by definition) publicity. I've made a few tweaks that (IMHO) improve the page and provide a slightly more informative experience for new users. Comments welcome.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #513   +/-   ##
=======================================
  Coverage   20.27%   20.27%
=======================================
  Files           9        9
  Lines         592      592
=======================================
  Hits          120      120
  Misses        472      472

Continue to review full report at Codecov.

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


Reorder method order to match node's lib/fs.js, document missing

While fixing another bug, I was looking through https://github.com/nodejs/node/blob/master/lib/fs.js#L1796, and noticed that we are missing some methods.  I've sorted our methods to match node's ordering, which makes it a bit easier to find things.  I've also filed bugs for missing methods, and added comments with the bugs.  Finally, I fixed a typo from a previous PR, s/relPathPargs/relPathArgs/

Codecov Report

Merging #655 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #655   +/-   ##
=======================================
  Coverage   86.57%   86.57%
=======================================
  Files          17       17
  Lines        1750     1750
=======================================
  Hits         1515     1515
  Misses        235      235

Impacted Files
Coverage Δ

src/filesystem/implementation.js
83.74% <ø> (ø)
:arrow_up:

src/filesystem/interface.js
93.67% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Control order of appearance of elements in an incremental slide

Hi,
Let's say I have a list in an incremental slide, with an image below:
---
# Slide Title

- Item 1
- Item 2
- Item 3

.center[<img style="width:80%"  src="image.jpg">]

I want to make item 1, 2 and 3 appear incrementally (which I can do using a --). But I also want my picture to be shown from the beginning. If I use incremental slides, the picture will only be shown after the last element has appeared.
Would it be possible to have more fine-grained, beamer-like, control over the animations? Maybe I have missed something in the doc.

Hi @jdumas -- I totally understand what you need, but I would probably use a trick here:
<style>.fig1 { background: url('image.png') } </style>
---
# Slide with fig 1

.fig1 [

- Item 1
--

- Item 2
--

- Item 3
]

I'll let you find the correct background positioning you'll want in your CSS.
Also, if you wanted "sticky items" in "incremental slides", what syntax would you use?
It's been a long time since I did LaTeX and I almost never did beamer but feel free to give us examples.
Kind regards,

Thanks, but this is issue is 3 years old, and I haven't really used remark.js since then =)

I can imagine. I'll close the ticket and reference this in the wiki as HTML/CSS trick. Cheers!


[Bug] satisfies operator is not satify in compile time

Bug Report

🔎 Search Terms
No issue or answer
🕗 Version & Regression Information
Version : Nightly Release to test 4.9 satifies operator
⏯ Playground Link
Playground link with relevant code
Then, see error at line 10.
Property 'at' does not exist on type '[number, number, number]'.

💻 Code
type Colors = "red" | "green" | "blue";
type RGB = [red: number, green: number, blue: number];
const palette = {
  red: [255, 0, 0],
  green: "#00ff00",
  blue: [0, 0, 255],
} satisfies Record<Colors, string | RGB>;

// But we now have an undesirable error here - 'palette.red' "could" be a string.
const redComponent = palette.red.at(0); // this one

🥵 Actual behavior
should working fine
🤨  Expected behavior
cannot figure out

I think the error at line 10 has nothing to do with satisfies. If you want to use Array#at you should set the target to ES2022 or above.

I think the error at line 10 has nothing to do with satisfies. If you want to use Array#at you should set the target to ES2022 or above.

Of course yes, I am testing official example from documentation
However, it revealed bug

Based on your code comment, I’m assuming you’re expecting the .at() call to fail because palette.red is allowed to be a string.  This is a misunderstanding of how satisfies works.
There is no bug.  satisfies doesn’t change the type of an expression, it only checks assignability, so TS knows palette.red isn’t a string.

I have no idea what you're talking about.  The error has nothing to do with the types.  You're just not targeting an ES version that supports at.  If you do this then it works:

Ok now it is working well in both of of local and ts playground. I just upgraded to next latest version to work well with that operator


One Pager Portfolio

Can I be assigned to this for the sake of hacktoberfest ;)

Feel free to link and merge #132 :)


Runing import without passing it through ID fetcher

Given code like this:
  my_scope = MyMode.includes(:some_association).where(stuff: things)
  MyModelIndex::MyModel.import = my_scope

# Where MyModelIndex uses :some_association to generate a field.

The import will end performing one extra query to load some_association per instance of MyModel in the scope, instead of using the included data.
This happens because both import_scope here and import_objects here re-run a select, regardless of what I pass in. For a more complex index, this can translate to a bunch of queries per instance that I want to import.
The only way I can do this right now is by skipping any sort of external API, and just doing an import directly:
some_scope.find_each(batch_size: 1000) do |batch|
  routine = Chewy::Type::Import::Routine.new(SomeIndex::SomeModel, {})
  routine .process({index: batch})
end

I would really prefer not to have to resort to something like this, so would it be possible to introduce either a key that skips the re-import, or some way to customize the default_scope used when re-loading the data to be imported?

Ok, agree, how about to add import_objects method near the import method which will do the thing you need? Can you prepare a PR?

Or an option is also fine by me

I like the method. I'll poke at it today and send a PR with a POC.

Actually maybe a bit of both, to keep the same structure with the import_routine into import_(parallel|linear).

Closed in https://github.com/toptal/chewy/pull/753


rspamd: 1.6.6 -> 1.7.4

Picked from #40434 as other changes there need feedback.
Closes #40414.

Success on x86_64-linux (full log)
Attempted: rspamd
Partial log (click to expand)
shrinking /nix/store/fs1iapqgk83ww7m15a6cvfbry5cp0j57-rspamd-1.7.4/lib/rspamd/libtorch.so
shrinking /nix/store/fs1iapqgk83ww7m15a6cvfbry5cp0j57-rspamd-1.7.4/lib/rspamd/libTH.so
shrinking /nix/store/fs1iapqgk83ww7m15a6cvfbry5cp0j57-rspamd-1.7.4/lib/rspamd/libTHNN.so
shrinking /nix/store/fs1iapqgk83ww7m15a6cvfbry5cp0j57-rspamd-1.7.4/lib/rspamd/libdecisiontree.so
gzipping man pages under /nix/store/fs1iapqgk83ww7m15a6cvfbry5cp0j57-rspamd-1.7.4/share/man/
strip is /nix/store/4qvrxzxa535y8304mk195x50b6p9607d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/fs1iapqgk83ww7m15a6cvfbry5cp0j57-rspamd-1.7.4/lib  /nix/store/fs1iapqgk83ww7m15a6cvfbry5cp0j57-rspamd-1.7.4/bin
patching script interpreter paths in /nix/store/fs1iapqgk83ww7m15a6cvfbry5cp0j57-rspamd-1.7.4
/nix/store/fs1iapqgk83ww7m15a6cvfbry5cp0j57-rspamd-1.7.4/bin/rspamd_stats: interpreter directive changed from "/usr/bin/env perl" to "/nix/store/vawc9a89l53mf05yq0k1910q7dakd99w-perl-5.24.3/bin/perl"
checking for references to /build in /nix/store/fs1iapqgk83ww7m15a6cvfbry5cp0j57-rspamd-1.7.4...

Failure on aarch64-linux (full log)
Attempted: rspamd
Partial log (click to expand)
/build/source/src/libserver/fuzzy_backend_redis.c:1362:15: warning: 'cmd' may be used uninitialized in this function [-Wmaybe-uninitialized]
  session->cmd = cmd;
  ~~~~~~~~~~~~~^~~~~
make[1]: *** [CMakeFiles/Makefile2:1545: src/CMakeFiles/rspamd-server.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 85%] Linking C shared library libTH.so
[ 85%] Built target TH
make: *** [Makefile:130: all] Error 2
builder for '/nix/store/i984m3r9k5bxpv8ms69x5a5gilzf1na3-rspamd-1.7.4.drv' failed with exit code 2
error: build of '/nix/store/i984m3r9k5bxpv8ms69x5a5gilzf1na3-rspamd-1.7.4.drv' failed

Did rspamd work on aarch64 before?

Success on x86_64-linux (full log)
Attempted: rspamd
Partial log (click to expand)
shrinking /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/lib/rspamd/libtorch.so
shrinking /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/lib/rspamd/libTH.so
shrinking /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/lib/rspamd/libTHNN.so
shrinking /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/lib/rspamd/libdecisiontree.so
gzipping man pages under /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/share/man/
strip is /nix/store/4qvrxzxa535y8304mk195x50b6p9607d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/lib  /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/bin
patching script interpreter paths in /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3
/nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/bin/rspamd_stats: interpreter directive changed from "/usr/bin/env perl" to "/nix/store/vawc9a89l53mf05yq0k1910q7dakd99w-perl-5.24.3/bin/perl"
checking for references to /build in /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3...

Interesting. Should I just merge the reduced-ambitions version?

We can also do this properly :)

(I look at aarch64 build, at glib declaring an array of size -1 in some error case, and I am not sure how this even works on x86_64)

Success on aarch64-linux (full log)
Attempted: rspamd
Partial log (click to expand)
/nix/store/9msmjqnhfn8hb6888p5xw97ns73k9jw1-rspamd-1.7.3

Success on x86_64-linux (full log)
Attempted: rspamd
Partial log (click to expand)
shrinking /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/lib/rspamd/libtorch.so
shrinking /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/lib/rspamd/librspamd-actrie.so
shrinking /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/lib/rspamd/libTH.so
shrinking /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/lib/rspamd/libdecisiontree.so
gzipping man pages under /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/share/man/
strip is /nix/store/4qvrxzxa535y8304mk195x50b6p9607d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/lib  /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/bin
patching script interpreter paths in /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3
/nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3/bin/rspamd_stats: interpreter directive changed from "/usr/bin/env perl" to "/nix/store/vawc9a89l53mf05yq0k1910q7dakd99w-perl-5.24.3/bin/perl"
checking for references to /build in /nix/store/j1m7axmli723zal4ylgny8rq17rkfk3g-rspamd-1.7.3...


clear perimeter

if i do the comman /function logical:perimeter/clear it says: this function has been removed what can I do to fix this

He Has removed the perimeter function. because world edit is supposed to be better. Not happy either.....

I looked at the old version of the files and recreated the data pack with the clear perimeter the download is
https://www.dropbox.com/sh/yfpoc1nofoetnhp/AABwwk1eLP8nKcWwWoUQix8pa?dl=1.

I looked at the old version of the files and recreated the data pack with the clear perimeter the download is
https://www.dropbox.com/sh/yfpoc1nofoetnhp/AABwwk1eLP8nKcWwWoUQix8pa?dl=1.

Hey, whenever I click the link it says error 404, could you repost?

Hold up

https://www.dropbox.com/s/4pqaz4b1ok16qem/logical-crafting.zip?dl=1 here you go sorry I deleted it from my drop box

I looked at the old version of the files and recreated the data pack with the clear perimeter the download is
https://www.dropbox.com/sh/yfpoc1nofoetnhp/AABwwk1eLP8nKcWwWoUQix8pa?dl=1.

Hey, whenever I click the link it says error 404, could you repost?

https://www.dropbox.com/s/4pqaz4b1ok16qem/logical-crafting.zip?dl=1 here ya go

Thank you so much you are a life saver. i really wanted to use this command.

Thank you so much you are a life saver. i really wanted to use this command.

Your welcome

hello does this still work?

hello does this still work?
Probably

i dont think it works is  your leak is for forge? or is it a data pack?

It’s a data pack

It’s the same as the actual one except the clear perimeter function is there. So if you don’t know how to download look at logicalGeekBoys video on how to download

It’s the same as the actual one except it has clear perimeter

Does this work? I know I downloaded it right but when I open minecraft the /function logical:perimeter/clear does not show up. Is this because I am running 1.16.5?

unzip the file then zip the things inside but NOT the folder.

https://drive.google.com/file/d/1KdJO922deDThUJP8S8SyGcRon5fuof_0/view?usp=sharing use this i think it will work

does it work now

does it work now

Yes that file I sent will work, use that one

im trash at using world edit, you are an absolute LEGEND

the perimeter command is not working well .Im using on tlauncher and its only clean to Y=5 not Y=-59 on 1.19.2 version

Does it work for 1.20?

the perimeter command is not working well .Im using on tlauncher and its only clean to Y=5 not Y=-59 on 1.19.2 version

It was made for older versions, will have to be updated now

Which versions does this work in?

@Nitrooooooo @SpeedyNinjaLol will it be updated to 1.20.4?

@Nitrooooooo @SpeedyNinjaLol will it be updated to 1.20.4?

sorry probably not

Hey i dont know if its possible but i was wondering if you could update the pack to the latest version of the game.


additional meta attributes in go-import and go-source metatags on solace.dev/go/messaging

Hi team,
we're very happy users of the solace.dev/go/messaging library. In order to keep our dependencies up-to-date we leverage
Renovate and now noticed that Renovate isn't able to properly detect the source (aka this repository) to check for new releases.
For Renovate (and the golang cli) to determine the source, the page solace.dev/go/messaging?go-get=1 contains these import meta HTML tags:
<meta data-react-helmet="true" name="go-import" content="solace.dev/go/messaging git https://github.com/SolaceProducts/pubsubplus-go-client"/>

<meta data-react-helmet="true" name="go-source" content="solace.dev/go/messaging https://github.com/SolaceProducts/pubsubplus-go-client https://github.com/SolaceProducts/pubsubplus-go-client/tree/master{/dir} https://github.com/SolaceProducts/pubsubplus-go-client/tree/master{/dir}/{file}#L{line}"/>

The golang client is able to parse them, but Renovate runs into problems as it uses a very simplistic Regex matcher to extract the pattern and the additional data-react-helmet="true" causes it to stumble and fail. I'm aware that this can (and probably should) be overcome in Renovate directly with adding a more robust XML-parser, but that is probably a bigger undertaking.
I now wanted to reach out and ask if it would be please possible to remove the data-react-helmet="true" from the import page. Allowing Renovate to recognize the source location and propose updates. I assume these html attributes are auto-injected by React during your website build process. There seems to be some options to disable/remove them: https://github.com/nfl/react-helmet/issues/79
Already many thanks for taking this into account.  Looking into it, I was able to find a workaround to add the necessary meta headers without having the data-react-helmet="true" tag. The fix is pushed, please test from your end and let me know if it resolves your issue.
Will be closing this issue for now

Hi @TamimiGitHub,
thanks for looking into and pushing a fix. I just tested it and it seems that the tags are now completely gone:
$ curl -L 'solace.dev/go/messaging?go-get=1' | grep 'go-import'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    55  100    55    0     0   1083      0 --:--:-- --:--:-- --:--:--  1341
100    59  100    59    0     0    528      0 --:--:-- --:--:-- --:--:--   528
100  5863  100  5863    0     0  31333      0 --:--:-- --:--:-- --:--:-- 31333
100  5863  100  5863    0     0  27597      0 --:--:-- --:--:-- --:--:-- 27597

A normal go get fails now as well:
$ export GOPROXY=direct

$ go get solace.dev/go/messaging
go: unrecognized import path "solace.dev/go/messaging": parse https://solace.dev/go/messaging?go-get=1: no go-import meta tags ()