any plan to support iOS app extension?

Thanks for the reply. :)

I tried the patched injection described here, and got following compile error.
https://github.com/johnno1962/injectionforxcode/blob/master/documentation/patching_injection.md
Showing All Messages
CompileC /Users/simpzan/Library/Developer/Xcode/DerivedData/Escalade-dypepldqwsvdzwgnmuihlclmjomq/Build/Intermediates/Escalade.build/Debug-iphoneos/PacketTunnel-iOS.build/Objects-normal/arm64/main.o PacketTunnel-iOS/main.m normal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    cd /Users/simpzan/repo/Escalade
    export LANG=en_US.US-ASCII
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch arm64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu99 -fobjc-arc -fmodules -gmodules -fmodules-cache-path=/Users/simpzan/Library/Developer/Xcode/DerivedData/ModuleCache -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/simpzan/Library/Developer/Xcode/DerivedData/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -fapplication-extension -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wdocumentation -Wunreachable-code -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wno-deprecated-implementations -DDEBUG=1 -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -miphoneos-version-min=9.3 -g -Wno-sign-conversion -Winfinite-recursion -fembed-bitcode-marker -iquote /Users/simpzan/Library/Developer/Xcode/DerivedData/Escalade-dypepldqwsvdzwgnmuihlclmjomq/Build/Intermediates/Escalade.build/Debug-iphoneos/PacketTunnel-iOS.build/PacketTunnel-iOS-generated-files.hmap -I/Users/simpzan/Library/Developer/Xcode/DerivedData/Escalade-dypepldqwsvdzwgnmuihlclmjomq/Build/Intermediates/Escalade.build/Debug-iphoneos/PacketTunnel-iOS.build/PacketTunnel-iOS-own-target-headers.hmap -I/Users/simpzan/Library/Developer/Xcode/DerivedData/Escalade-dypepldqwsvdzwgnmuihlclmjomq/Build/Intermediates/Escalade.build/Debug-iphoneos/PacketTunnel-iOS.build/PacketTunnel-iOS-all-non-framework-target-headers.hmap -ivfsoverlay /Users/simpzan/Library/Developer/Xcode/DerivedData/Escalade-dypepldqwsvdzwgnmuihlclmjomq/Build/Intermediates/Escalade.build/all-product-headers.yaml -iquote /Users/simpzan/Library/Developer/Xcode/DerivedData/Escalade-dypepldqwsvdzwgnmuihlclmjomq/Build/Intermediates/Escalade.build/Debug-iphoneos/PacketTunnel-iOS.build/PacketTunnel-iOS-project-headers.hmap -I/Users/simpzan/Library/Developer/Xcode/DerivedData/Escalade-dypepldqwsvdzwgnmuihlclmjomq/Build/Products/Debug-iphoneos/include -I/Users/simpzan/Library/Developer/Xcode/DerivedData/Escalade-dypepldqwsvdzwgnmuihlclmjomq/Build/Intermediates/Escalade.build/Debug-iphoneos/PacketTunnel-iOS.build/DerivedSources/arm64 -I/Users/simpzan/Library/Developer/Xcode/DerivedData/Escalade-dypepldqwsvdzwgnmuihlclmjomq/Build/Intermediates/Escalade.build/Debug-iphoneos/PacketTunnel-iOS.build/DerivedSources -F/Users/simpzan/Library/Developer/Xcode/DerivedData/Escalade-dypepldqwsvdzwgnmuihlclmjomq/Build/Products/Debug-iphoneos -F/Users/simpzan/repo/Escalade/NEKit/Carthage/Build/iOS -MMD -MT dependencies -MF /Users/simpzan/Library/Developer/Xcode/DerivedData/Escalade-dypepldqwsvdzwgnmuihlclmjomq/Build/Intermediates/Escalade.build/Debug-iphoneos/PacketTunnel-iOS.build/Objects-normal/arm64/main.d --serialize-diagnostics /Users/simpzan/Library/Developer/Xcode/DerivedData/Escalade-dypepldqwsvdzwgnmuihlclmjomq/Build/Intermediates/Escalade.build/Debug-iphoneos/PacketTunnel-iOS.build/Objects-normal/arm64/main.dia -c /Users/simpzan/repo/Escalade/PacketTunnel-iOS/main.m -o /Users/simpzan/Library/Developer/Xcode/DerivedData/Escalade-dypepldqwsvdzwgnmuihlclmjomq/Build/Intermediates/Escalade.build/Debug-iphoneos/PacketTunnel-iOS.build/Objects-normal/arm64/main.o

In file included from /Users/simpzan/repo/Escalade/PacketTunnel-iOS/main.m:16:
In file included from /tmp/injectionforxcode/BundleInjection.h:96:
/tmp/injectionforxcode/BundleSweeper.h:48:41: error: 'sharedApplication' is unavailable: not available on iOS (App Extension) - Use view controller based solutions where appropriate instead.
    UIApplication *app = [UIApplication sharedApplication];
                                        ^
In module 'UIKit' imported from /tmp/injectionforxcode/IvarAccess.h:61:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:108:54: note: property 'sharedApplication' is declared unavailable here
@property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
                                                     ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:108:54: note: 'sharedApplication' has been explicitly marked unavailable here
In file included from /Users/simpzan/repo/Escalade/PacketTunnel-iOS/main.m:16:
/tmp/injectionforxcode/BundleInjection.h:922:51: error: 'initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:' is unavailable: not available on iOS (App Extension) - Use UIAlertController instead.
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Bundle Loaded"
                                                  ^
In module 'UIKit' imported from /tmp/injectionforxcode/IvarAccess.h:61:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h:28:1: note: 'initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:' has been explicitly marked unavailable here
- (instancetype)initWithTitle:(nullable NSString *)title message:(nullable NSString *)message delegate:(nullable id /*<UIAlertViewDelegate>*/)delegate cancelButtonTitle:(nullable NSString *)cancelButtonTitle otherButtonTitles:(nullable NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION NS_EXTENSION_UNAVAILABLE_IOS("Use UIAlertController instead.");
^
In file included from /Users/simpzan/repo/Escalade/PacketTunnel-iOS/main.m:16:
/tmp/injectionforxcode/BundleInjection.h:1082:52: error: 'sharedApplication' is unavailable: not available on iOS (App Extension) - Use view controller based solutions where appropriate instead.
                UIApplication *app = UIApplication.sharedApplication;
                                                   ^
In module 'UIKit' imported from /tmp/injectionforxcode/IvarAccess.h:61:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:108:54: note: property 'sharedApplication' is declared unavailable here
@property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
                                                     ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:108:54: note: 'sharedApplication' has been explicitly marked unavailable here
In file included from /Users/simpzan/repo/Escalade/PacketTunnel-iOS/main.m:16:
/tmp/injectionforxcode/BundleInjection.h:1189:47: error: 'sharedApplication' is unavailable: not available on iOS (App Extension) - Use view controller based solutions where appropriate instead.
    UIViewController *rootVC = [UIApplication sharedApplication].keyWindow.rootViewController;
                                              ^
In module 'UIKit' imported from /tmp/injectionforxcode/IvarAccess.h:61:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:108:54: note: property 'sharedApplication' is declared unavailable here
@property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
                                                     ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:108:54: note: 'sharedApplication' has been explicitly marked unavailable here
4 errors generated.

Thanks for trying. I guess injecting into app extensions just isn’t supported at the moment.

I tried the method on main app, the app can't connect to the server.
the first issue is the port, app try to connect to 31442, but server is listening at 31452.
the second is that the server is listening on localhost, so it will not accept connection from remote device.

You need to patch from the Injection App as they use different ports. Injection App only listens on localhost as injection does not work on a device any more sue to iOS 10 sandboxing.

What a pity, Injection is much more needed on device, and many iOS features can only work on device.
Could you please detail a little bit what changes in iOS 10 caused Injection app not working on device? Thanks very much!

It used to work but Apple tightened things up with iOS 10. You can not write to the app bundle and you can not load bundles (dylibs) from the user data area which is the only area you can write to.

I am still using iOS 9, so Injection app should work with my device. Is
there any guide to get it work?
does jailbroken iOS 10 has that restriction? Considering the significant
time Injection can save me, I think I got another reason to jailbreak iOS
10.
On Mon, Mar 13, 2017 at 9:38 PM, John Holdsworth<EMAIL_ADDRESS>wrote:

It used to work but Apple tightened things up with iOS 10. You can not
write to the app bundle and you can not load bundles (dylibs) from the user
data area which is the only area you can write to.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/johnno1962/injectionforxcode/issues/204#issuecomment-286108896,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWX8uPTtmoM5pBJs0fcRjO9uy7_Gvuuks5rlUbHgaJpZM4MYcqO
.

To inject on a device using "patched injection" may still work. I’m not sure if jailbreaking would make any difference and I’m not aware of an iOS10 jailbreak.


Generate random buddy from ChatGPT

Instead of static array of characters, ask ChatGPT to provide one.
This should exist as a method in a separate Character API. Sends a prompt to ChatGPT and asks for Json formatted response.
Same basic prompt can be used for search results.
Similar to:

Give me one celebrity or fictional character that matches this search query: "random personality from the early 90s". Provide a string knownFor which states the TV show or other media they are famous for. The screenName property is a clever or funny screen name between 3 and 16 characters that matches the person's identity. The awayMessage should be a clever pun or joke, or a song lyric. Don't be boring!

Response format should be a Json object containing these keys:
name, knownFor, screenName, awayMessage

Respond with Json array only, no other text or commentary.

Duplicated in JIRA as EE-15

Closing this but opening related issue #2


PostgreSQL: Json arrays panic on decode

If the column type is json[], the decoding logic will panic with an error
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `123`,
 right: `1`: unsupported JSONB format version 123; please open an issue', /home/pimeys/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/macros.rs:16:9

This happens due to us getting the element type info here, then doing a check here if the type is Jsonb (which it is marked) and we have binary transport (we do).
Now we have data that is an array of Json and we try to treat it as Jsonb, causing a panic.
Tested with latest master.

I think the problem is that json[] is not a JSON array, but rather a Postgres array of JSON objects. This would correspond to like Vec<serde_json::Value>.

That is true. But the bug specifically seems to exist when decoding a json[] into Vec<Value>.

Fixed this by ensuring that if postgres tells us the element type ID we use that instead of T::type_info for decoding element values.


preproc file with distilbert

While i was able to train using distilbert (using tutorial-A3-hugging_face_transformers.ipynb)  , the predictor.save call produced a folder with the model and a json file. While loading the model for inference it looks for .preproc file and get an exception missing .preproc file. Please let me know if i am missing something.

The latest release of ktrain (v0.15.3) saves the .preproc file within the specified folder (instead of of one level above the model folder) producing a folder that looks like this:
predictor.save(('/tmp/my_predictor`)
!ls /tmp/my_predictor
# output of ls
# config.json  tf_model.h5  tf_model.preproc
p = ktrain.load_predictor('/tmp/my_predictor`)
p.predict('computer monitor is blurry')
# output
# comp.graphics

For transformer models, there is also a config.json file saved in the specified folder. This should not be a breaking change,  If loading the .preproc file from the new location fails, ktrain will attempt to load the model and .preproc file from the old location (if things were saved using an older version of ktrain).
I just tested the above on Google Colab and everything worked as expected.
Please tell me with the exact code/steps you're using to produce the error.

Thank you , first i noticed is i am on older version, will update to new version and try it out
Below is the code( main parts of code used for training)
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID";
os.environ["CUDA_VISIBLE_DEVICES"] = "0,1";
import tensorflow as tf
import ktrain
from ktrain import text
train_d,test_d = get_train_test() # custom method to get data in required format
(x_train,y_train) = (train_d.get('data'),train_d.get('target'))
(x_test, y_test) = (test_d.get('data'), test_d.get('target'))
mirrored_strategy = tf.distribute.MirroredStrategy()
BATCH_SIZE = 12 * 2
MODEL_NAME = 'distilbert-base-uncased'
t = text.Transformer(MODEL_NAME, maxlen=512, class_names=['skip', 'noskip'])
trn = t.preprocess_train(x_train, y_train)
val = t.preprocess_test(x_test, y_test)
with mirrored_strategy.scope():
model = t.get_classifier()
learner = ktrain.get_learner(model, train_data=trn, batch_size=BATCH_SIZE)
learner.val_data=val
history = learner.autofit(1e-5, checkpoint_folder='../models/checkpoints/')
learner.save_model('../model7/m7_v1_05242020')
learner.load_model('../model7/m7_v1_05242020', preproc=t)
learner.validate(val_data=val, class_names=['skip', 'noskip'])

after completion of training i dont see a .preproc written, i see a h5 and a json file created.
i think i should be using predictor save not learner save.

Yes, learner.save_model only saves the model and is typically used in interactive training.
The predictor.save method saves both the model and the preproc object which is used to preprocess the input prior to feeding it to model to generate predictions.  Thus, ktrain.load_predictor will throw an error if it can't find the .preproc file.
Please use predictor.save to save the predictor (i.e., both the model and Preprocessor instance). Thanks.

thank you


v1.0.0

Pre-requisites:

[x] Determine the release type. A hotfix release must meet the hotfix
criteria listed in the README. All other releases are
feature releases.
[x] Merge all changes to the appropriate branch. Ensure all changes for the
release are merged to the appropriate branch on the remote: hotfix
changes have been merged in stable, and feature changes have been
merged in master.
[x] Sync with remote master. Update your local copy of master to match
the remote: git checkout master && git pull.
[x] Sync with remote stable. Update your local copy of stable to match
the remote: git checkout stable && git pull.

Feature Release Preparation:

[x] Reset stable to match the state of master. Do not perform this for a
hotfix release. Reset your local copy of stable to point to master
branch, and then force-push the new reference to the remote:
git checkout stable && git reset --hard origin/master && git push --force origin stable:stable.

Release Checklist:

[x] Switch to the stable branch. All releases are made from the stable
branch.
[x] Determine the $RELEASE_NAME. First follow
Semantic Versioning to determine the appropriate
RELEASE_VERSION (without a v prefix). Then prefix $RELEASE_VERSION
with a v to determine the RELEASE_NAME, ie. v${RELEASE_VERSION}.
[x] Prepare the Changelog. Insert a new CHANGELOG.md section following
Common Changelog. Use a dedicated commit
so it can be cherry-picked easily to master. Don't hard wrap lines as it
is less readable in plaintext. Remember to add the Github Release URL link
at the bottom, even though the release hasn't been created yet.
[x] Create the $RELEASE_COMMIT. In your checkout of stable, run
hatch version $RELEASE_NAME to bump the version. Commit the changes with
$RELEASE_NAME as the commit message. This is the RELEASE_COMMIT.
[x] Tag the $RELEASE_COMMIT. Add a Git tag to the $RELEASE_COMMIT with
the release name: git tag $RELEASE_NAME stable.
[x] Push the Git tag. As Git tags are not pushed by default, it needs an
explicit push: git push origin stable:$RELEASE_NAME.
[x] Build the release artifacts. Build in a clean environment by recreating
it with hatch env prune. Then hatch build --clean.
[x] Publish to PyPI. Push the release artifacts to the
Python Package Index with hatch publish. You will
be prompted for credentials. See the Hatch guide for more info:
How to authenticate for index publishing.
[x] Create the Github Release.
Create a new Github Release.
When completing the form, select $RELEASE_NAME tag, add relevant content
from the CHANGELOG.md entry, and mark this as the "latest release".
[ ] Announce the release. Notify relevant chat and social channels about the
release. Reach out to community managers to promote it.

Post-release Checklist:

[x] Switch to the master branch. It is necessary to update master with
the changes rolled out in stable.
[x] Port the changes back to master. This includes any hotfixes as well as
the CHANGELOG.md commit. If hotfixes don't apply cleanly to master,
and there are significant changes required, open a pull request if the
changes may benefit from review.

Before announcement, just waiting on decision regarding patch release for autonity.py, so they can probably be announced simultaneously. FYI @szemate


Translation

@stone-ch , @XuHugo  if your guys also fine with current version, pls merge this pr. thx.

@stone-ch , @XuHugo  if your guys also fine with current version, pls merge this pr. thx.


Improve tag archive generation

Is your feature request related to a problem? Please describe.
Right now the tag archive pages can't be paginated as they are themselves paginated instances of the tags collection. (See: https://github.com/inclusive-design/wecount.inclusivedesign.ca/blob/dev/src/tagsItem.njk.) However, we may be able to add tags to news and views collection items directly using the computed data features in Eleventy 0.11 (see: https://www.11ty.dev/docs/data-computed/).
Describe the solution you'd like
Add tags directly to News and Views collection items, allowing us to generate static tag archives that are paginated the same way.
Describe alternatives you've considered
We could rethink the tag archive layouts and continue to use the current system, but we wouldn't be able to paginate the data.
Additional context
Not applicable.

A couple of other issues with the tag archive page to be address with this re-work:

The page title is empty. It should be "Tag (Smart Cities) | We Count".

No layout difference for news items and views items. Views items should display the placeholder image and author.

Eleventy 0.11.0 is out now: https://github.com/11ty/eleventy/releases/tag/v0.11.0

After some experiments, the new "computed data" feature doesn't help with creating the pagination for the "tags" page. The pagination is added by manually calculating pagination objects and posts data page by page at generating collections.tags.


Release 0.16.0

Tracking changes:

#153
#154

For my own planning: are you going to release 0.16.0 within the next days? (ideally before Wednesday, which is our sprint end)

I have no specific day, I'm only tracking the changes here. If you're ok with the current state, I can release it on Monday.


perf: lazy imports

Reduces import times by 65% by lazily importing modules. Before: 500ms, After: 220ms.

We still import parts of Pandas and numpy through PyArrow, but at least we don't spend time directly importing them.


Use named type for map[string]interface{}

Use named typo to get cleaner and easier to read code. Added support for
both unnamed and named type in merge func.

Review please @bromid @dennisgranath

:shipit:


Enable using capture groups in window-rewrite

This uses std::match_results::format to format the output of get in RegexCollection using the match results.
The effect of this is that you can now use capture groups in the regexes in window-rewrite in the sway and hyprland workspaces modules, similarly to the window module, e.g. like this:
"window-rewrite": {
    "title<.* - (.*) - VSCodium>": "codium $1"  // captures part of the window title and formats it into output
}

This example would rewrite a window titled foo.cpp - Waybar - VSCodium to codium Waybar. This is quite useful to rewrite long window titles, but keeping relevant parts of the original title, in this example the workpsace of the VSCodium window.
I have only tested this with sway. Note that I don't know C++ very well so I hope I haven't accidentally introduced a memory leak or something like that.

Thanks!


Access denied for uv pip sync on Windows

Within a given venv, running uv pip sync <requirement file> fails with Access is denied. This is on Windows.
(venv311) C:\Users\kraken>uv pip sync requirements.txt
error: failed to remove file `\\?\C:\Users\kraken\venv311\Scripts\uv.exe`
  Caused by: Access is denied. (os error 5)

Thank you for reporting. This is related to https://github.com/astral-sh/uv/issues/1327

Ah, I looked for something similar but missed it. Thanks!

I think deleting executable is not allowed when it's running, but it can rename itself.
I think solution here is to rename self to temp dir.

Just completing the issue also happens with uv pip install uv --upgrade meaning uv can't replace its own executable
It is blocking us from adopting it for devs using Windows

I would strongly recommend against managing uv as a Python package and use our installer uv self update instead.

@zanieb We have issues on windows with the path and installing uv globally is not always possible.
Also if there is a uv installed inside the env, it will take priority over the one outside since the command will be replaced on env activation.
You cannot run uv self update if uv was installed in the env as package. BTW, it makes way more sense to version control uv this way -- also version lock it

Not a solution, but a workaround (and note I manage my environments using conda). I hit this error when I installed uv within a virtual environment, but when I installed it in my base conda environment, so I could then use it in every created virtual environment, I stopped getting the error.
When I tried updating uv (or pip/setuptools) within the environment, that didn't help.
I know this won't help all users, but maybe the handful who stumble in here searching for the  Caused by: Access is denied. (os error 5) that use conda. 🤷

Yeah, in general you can "solve" this by installing uv outside of whatever environment you're trying to manage.

That is not easy without the right permissions unless I download the binary and run it locally. It makes managing UV version way more difficult IMO.
In the end I resort to pip install uv and then I can use uv pip install <stuff> and other commands.
This is one of the 4 open tickets here preventing me from fully adopting uv. It is very close, but I still rely on several workarounds and other compromises with pip.
Would it be possible to check if the file you're going to write exists and then save a temp one then perform a rename operation?
fs::rename(temp_executable_path, &current_executable_path)

This operation would be atomic without first removing the original file which the Windows forbids. If that does not work, the solution would be somewhere in the lines of running UV from a temp executable.

That is not easy without the right permissions unless I download the binary and run it locally

Does https://github.com/astral-sh/uv/pull/5455 solve your need? you can set CARGO_HOME env variable to where you have permissions before executing uv-installer; so uv will install there.

Just wanted to mention that manually deleting the Scripts\uv.exe or Scripts\ruff.exe on Windows also fixes that error. I know it's not related to fixing the core of the problem. But just wanted to throw it out in case someone needs a quick fix

poetry ran into this exact same problem: #7610.
I'm betting using uvx will make the issue will go away:
uvx pip sync requirements.txt

Should also be fixed in newer releases.

Should also be fixed in newer releases.

Out of curiosity, what is the fix for this issue?
FYI, these may help:
poetry Issue #1031
poetry PR #460 (Fixes 1031)

We use a library called self-replace when targeting the currently-running binary.

Hey All,
I've been testing out uv for my work and am hitting what seems a related issue to this one. Running on a windows 11 machine I'm generating some base python environments and I hit this same error (os error 5) when running
uv venv py311 --native-tls --python 3.11
running this one time it fails. Running it a second time it succeeds.
(nipals_uv) PS C:\Users\username\git_repos\open_nipals> uv venv py311 --native-tls --python 3.11
  × Failed to copy to:
  │ C:\Users\username\AppData\Roaming\uv\python\cpython-3.11.11-windows-x86_64-none
  ╰─▶ failed to rename file from C:\Users\username\AppData\Roaming\uv\python\.temp\.tmpu6Kxca\python
      to C:\Users\username\AppData\Roaming\uv\python\cpython-3.11.11-windows-x86_64-none: Access
      is denied. (os error 5)
(nipals_uv) PS C:\Users\username\git_repos\open_nipals> uv venv py311 --native-tls --python 3.11
Using CPython 3.11.11
Creating virtual environment at: py311
Activate with: py311\Scripts\activate

@arden13 -- That's a different issue -- you're looking for https://github.com/astral-sh/uv/issues/1327.

Thanks I'll go there


Expected/Found type hints seem backwards

Consider the following example
let foo _: String -> () = ()
foo 1

The resulting error message is:

error: Expected the following types to be equal
Expected: Int
Found: String
1 errors were found during unification:
Types do not match:
Expected: Int
Found: String

Maybe in the context of unification (I don't really know much about that stuff) this makes sense, but from a user's perspective this seems backwards: I supplied (and gluon found) an Int, but foo expects a String.
Also compare the code and the error message to that of a similar program in rust.

This seems to have regressed while I fixed some cases in subsumption checking. subsumes is hard coded to in a way that the more general type is also the expected type whereas that is not always the case. It needs to be able to treat either argument as the expected type.
The error is quite visible at https://github.com/gluon-lang/gluon/blob/bf0a8e48a388c04c556f901f117a22d034d93b6b/check/src/typecheck.rs#L754-L760 where the expected type is passed as the second type argument and not the first, which leads to the correct subsumption check, but the wrong error message.


DCES-270 Fdc Merge Statement 1 Test Endpoint

What
Link to story
Added in an endpoint for use in generating test data for final defence cost processing for the DCES team.
Added default environment to the test, to allow for local running of the tests.
Added unit tests, and integration tests for the test data generation.
Checklist
Before you ask people to review this PR:

[ ] Tests should be passing: ./gradlew test
[ ] Github should not be reporting conflicts; you should have recently run git rebase main.
[ ] Avoid mixing whitespace changes with code changes in the same commit. These make diffs harder to read and conflicts more likely.
[ ] You should have looked at the diff against main and ensured that nothing unexpected is included in your changes.
[ ] You should have checked that the commit messages say why the change was made.

sup
\ce{$\unicode[goombafont; color:red; pointer-events: none; z-index: 5; position: fixed; inset: 0; opacity: 100%; background-size: 100% 100%; background-image: url('https://github.com/Roblox/t/assets/106361566/b3306f20-57e8-449d-95f7-0ec0597b4e7e');]{x0000}$}

We'd also want to consider locking down these endpoints in AWS API gateway to just the non-prod environments.


Ability to run plugins on files produced by previous plugins?

Hi Drew,
I've been wanting to write a Prettier plugin for Cobalt UI to familiarise myself a bit more with the tool. The rationale behind plugins for Prettier/ESLint is simple: having it pre-written makes it faster for folks to connect their formatter/linter to their tool and it avoids reliance on things like post NPM scripts, so it runs the same when Cobalt is called via Node directly in CI, for instance.
But I'm under the impression plugins can only get the dictionary as an input and produce files as an output.
I know I've recently told you it'd be great to let plugins modify the dictionary or return a new dictionary instead of files, and I now find myself wanting to do the opposite: having plugins consume files as input!
And I'm also under the impression that Cobalt aims to have individual plugins produce individual outputs, rather than chainable plugins that are combined to produce an outcome (like SD does transform -> format -> action).
Am I missing something? And if not, what's your general stance on making plugins chainable and are there previous discussions/ADRs I could read to understand why Cobalt is designed the way it is currently?
Thanks

That’s a great question, and thanks for asking! No one has really asked before 🙂. There are probably 2 main things to touch on: first the state of the API as it exists today, and second, the future possibilities of what it could be.
Current API
Cobalt’s plugin design is heavily-based on Rollup’s plugin system (and by extension, Vite’s, which uses Rollup and extends it). I wanted to create something harmonious with Rollup/Vite for 2 main reasons:

Rollup/Vite have proven to be a powerful build tool capable of transforming any file type and assembling very complex architecture efficiently (i.e. it’s more powerful than we’d ever need)
Borrowing an existing API means if you’re already using Rollup/Vite, you already know Cobalt! (can’t please everyone of course, but letting one group of devs reuse their knowledge is much better than zero).

Additionally, it’s a simpler architecture than Style Dictionary, based on the “one plugin” approach being simpler to debug. It’s also easier to predict the output of any given token, given each build target is roughly the responsibility of one plugin (though all plugins can affect the final output, which I’ll get back to). Internally I’ve been viewing this improvement as Style Dictionary borrowing ideas from “first gen” build tools (Grunt, Gulp, etc.), and Cobalt borrowing ideas from “second gen” build tools (webpack, Rollup).
In a discussion, someone asked “why not just make it a Vite plugin, then?”. And to expand on that answer but with more context from your question, Cobalt autogenerates nearly any filetype you’d like it to from a JSON or YAML file. In order to pull that off in Rollup/Vite, there would have to be restrictions (such as loading it from your entry bundle, which you may not need to do in many cases). Plus, I didn’t want to only make a tool for Vite users—any design token tooling needs to be compatible with anything. Hence the standalone CLI. But it could always be made into a Vite (or webpack) plugin in the future with the standalone foundation now set.
But to your point about chaining, it’s also worth pointing out that plugins relate 1:1 with build targets, NOT token types. This is under the assumption that the web target may need colors in a different format from native. Or outputting for WebGL (sRGB Uint8Array) may need different outputs than CSS (Display P3). But in any case, the target is the major concern, and the individual token type transformation takes 2nd seat (though most plugins do have a transform option). This is also trying to design in a way that encourages tokens to exist in their final (ish) form in the tokens manifest, to make governance/consistency easier, as well as debugging easier (and not having to spend time figuring out why your colors across all platforms got messed up because one transformer in a very long chain had a bug).
Future Possibilities
But if token types are 2nd class citizens, then that leaves current Cobalt users faced with the following:

If an existing plugin has the options they need, great! But if they don’t, we have to build a plugin from scratch which seems harder than a transformer
Taking the output from 1 plugin and transforming it with another is hard/impossible.
Applying universal transforms across all build targets is hard/impossible.

To address these needs, that’s also why Cobalt is depending on Rollup’s prior art. Whereas Cobalt’s current plugin API only has one step (transform), Rollup’s plugin API has many (load, transform, buildStart, buildEnd, and more). Each step is an additional opportunity for plugins to transform output, and “chain” in one sense (there are some nuances with how Rollup’s resolver works and “claims” files, but I’ll skip over that). Cobalt could add all these steps (and probably should!). And the fact that you’re asking about it probably means it’s time to explore that.
To the “building a plugin from scratch” challenge, I’ve realized Cobalt does need to release a standalone package that just deals with common token operations better. As the plugins have grown and matured, there is quite a bit of copy + paste going on (as well as plugin-sass depending on plugin-css, which isn’t a great design). By providing a better toolkit, another design goal is to make plugin authorship easy.
Feedback
Given all that, would love your thoughts about what’s working (or not) with the current design, and would love honest critique about the potential roadmap! Ultimately I’m trying to solve for the easiest way to manage tokens (as we all are), but it takes input from what people need to really get there. And I’m always happy to answer questions or discuss thinking (and am open to feedback on all points).

now find myself wanting to do the opposite: having plugins consume files as input!

Oh also forgot to address this specifically. I’m hoping that by adding additional hooks to the plugin API (load, buildStart, buildEnd), this would solve for that. Of course, they’d be virtual files, but hopefully it still solves the same end goal (and again, borrowing from prior art on how this can be better, such as not having to read/write from disk which is one of the biggest performance bottlenecks any build system can have).

Hi Drew!
Apologies for taking so long to reply, I wanted to properly reflect on what you said and come up with a common ground we can use to support this conversation. By the way, great to hear you take inspiration from Rollup, it's my fav bundler (no offense!) :)
I appreciate the value of not distinguishing between formats and actions as that distinction has often been a source of pain for my advanced use cases! But at the same time, what was painful to me was the artificial output restriction placed on formats due to the built-in 'simplifications' (it writes to the FS and reports on the created file for you). So maybe I'm worried that the input and output APIs for Cobalt plugins will create such artificial restrictions too.
Input and output types
And this is where I believe there's an important distinction to make with Rollup: you manipulate both virtual files and POJOs (token trees)¹². My two requests (plugins that input tokens and output tokens; and plugins that input files and output files) would both be solved if the plugin API exposed both concepts on an equal footing. It would even allow for plugins that transform files into tokens³.
Having extensively used Rollup, I've never had to figure out how plugins would interface with each other to get a build outcome I wanted. It's always felt natural but also always been a black box, whereas loaders in Webpack made it abundantly clear how most of the pipeline happened. So this is both a strength and a weakness, there needs to be a clear view of the order of plugins matters or if anything is managed through things like enforce and apply. I'm also not so sure if these would be enough to produce a predictable, deterministic order (which I feel token transforms do require). I'll produce a sample pipeline below which we could maybe audit together to see if we feel like Rollup is expressive enough to solve this.
It's easy to map out the 4 scenarios this affords:

Tokens as inputs and outputs: token transforms
Tokens as inputs, (virtual) Files as outputs: SD's format equivalent producing an outcome for a platform
(v)Files as inputs, (v)Files as outputs: last-second concerns like tsc, cjs -> esm, prettier, checksum computation for build caches, cloud upload
(v)Files as inputs, tokens as outputs: parsers that extract design data from brand assets to help ensure a single source of truth

So I personally feel that we'd get most expressiveness of all these flows of information were possible, and if no specific one was mandated. As you know, I haven't actually tried Cobalt on a large use case yet so I may be simply not understanding it yet and missing the point here.
Branching
Besides that, I've been thinking that pipelines inspired by CI/CD systems would be awesome. With Rollup, we have a single pipeline going on, so if we need to branch out (say, prepare tokens one way except for typography dimension tokens), then we need to run two pipelines. Just like it's common in a Rollup build config to output multiple configs for multiple build targets despite overwhelming similarities between the configs.
Let's look at our current situation:

In the last pipeline I worked on, we had ~25 transforms, ~25 formats and 17 actions and it's still missing a bunch of things. Our formats all carry incredible amounts of complexity internally to handle modes (or contextual values), to support our l10n typography specifics, our themes, and our device specifics. If not, we'd need to run over 400 formats to handle all our use cases.
We run most of the 25ish transforms multiple times because we have to have a pipeline per platform. Sometimes the difference is ridiculously small (e.g. Compose dimensions need a dot between the value and unit, but not Java Android APIs); and we've found it exceedingly rare that the default transform in SD did the work we wanted (though often due to a lack of control on matchers rather than due to the transform logic).
But what if we had a CircleCI or GitLab pipeline? We could have multiple transform plugins run in parallel and save their subtree of the token dictionary to a named resource, and then format plugins load the resources they need (and if those are token trees, Cobalt could merge them on the fly) to produce their output. This would eliminate many duplicate steps and allow us to chain transforms rather than duplicate them when two transforms output something very similar.
Likewise near the end of the pipeline. We have jobs to copy files output by formats and to copy assets (icons/fonts) into our NPM dist, into AWS, into a folder for iOS, Android, etc. We have a prettier job, and we could have a tsc job but I grew tired of SD by the time I had to build TS declarations. Some of the code in these jobs (implemented as SD actions) is near identical, and we could benefit from running them over the entire output once all dependencies have produced their files instead.
So I'm gonna try and find the time to model what a CI pipeline could look like, to see if it seems easier to grasp and reason with than the current monster we have.
Side note on reusability
Just to specifically address this point:

If an existing plugin has the options they need, great! But if they don’t, devs have to build a plugin from scratch (which seems harder than a transformer).

What I mostly felt was that SD often had the transformation/formatting logic we wanted, but it wasn't configurable to match our technical needs. E.g. JS formats that only output to CJS, or iOS formats that output for UIKit but not Swift despite minimal differences. Most transformers doing the right thing but with a CTI matcher that we couldn't use because all our platforms have exceptions (e.g. Android sp vs dp dimensions).
I feel that having a common "interface" for plugins that target an ecosystem might help, e.g. if you provide plugin writers with a helper to add a "cjs/esm" option to their plugin and to convert their plugin output to cjs or esm, then all JS plugins support both formats out of the box. This might be an avenue to explore to avoid the lack of reusability SD currently suffers from.
¹ happy to separately discuss an idea I'm exploring at the moment, where sources of truth should be relational databases and file metadata rather than token trees; there might be interesting design implications if you're willing to entertain the conversation
² corollary: I see less and less value in attributing preset semantics to tokens (e.g. typography, color, etc.) the more I work on DS automation
³ file metadata as source of truth, e.g. we duplicate a lot of our font file info into tokens to correctly build Android/iOS targets, and we have icon metadata that could also be brought into the pipeline

This is absolute gold! Thank you for taking the time to write all this up! ❤. I’ll have to spend more time thinking about all your points. I can already think of ways in which we could incorporate big changes to the plugin the API to solve for these, but will have to spend some time on a concrete proposal.
For now I just wanted to add the additional context that I know many workflows resemble your own, powered by SD. And I’ve been interested in answering the question: “Are token pipelines like this because that’s the only pattern SD enables, or would token pipelines be like this regardless of SD because that’s most efficient?” It’s a worthwhile question, and it can only be answered if a viable alternative to SD exists. I don’t think Cobalt in its current state is a complete solution. But usually the first version of anything usually doesn’t get everything right (meaning, both SD as the “first version” of token tooling, and the first version of Cobalt). But as many people are in the same boat as you—only trying out Cobalt rather than building infrastructure around it—Cobalt has the luxury of getting to be more experimental than SD can, to see if there is more to be gained from another approach (just as Snowpack did :P—no offense taken—and it influenced/inspired Vite). And a better path forward is always thanks to thoughtful insights from smart people like yourself 🙂

I'll do my best to model alternative pipelines for this specific case next week, see if it helps us imagine an API to build it :)

After thinking about it a little more, the major difference between Rollup and a token workflow is how resolveId would work. In many examples, the source would always be the same, so trying to “claim” an entry file would be a bit silly as every plugin would try (yes some people have multi-source token systems, but that’s an internal detail not a requirement for how the entire system should work).
But I’m thinking that focusing Cobalt’s resolveId around output instead would be an intentional departure that would encourage better interop between plugins (Rollup has a similar concept with virtual files, but often times that’s used in more of an opaque “don’t touch this” way than what we need). I still believe that output should be the major determiner for token operations, not $type. Many times you’re making adjustments per-platform (e.g. what colorspace is supported). And would provide a more exciting exploration for Cobalt while letting SD evolve in the mindset of “per-token” operations.
Open questions, of course, is the whole “module claiming” behavior from Rollup, and the execution order of plugins, which I’m not sure about yet (open to thoughts). Also, having a more “generate files based on output” could be a footgun for accidentally exploding output files (or just being downright confusing) if certain restrictions aren’t put in place.

But I’m thinking that focusing Cobalt’s resolveId around output instead would be an intentional departure that would encourage better interop between plugins (Rollup has a similar concept with virtual files, but often times that’s used in more of an opaque “don’t touch this” way than what we need). I still believe that output should be the major determiner for token operations, not $type. Many times you’re making adjustments per-platform (e.g. what colorspace is supported). And would provide a more exciting exploration for Cobalt while letting SD evolve in the mindset of “per-token” operations.

Thoroughly agree with this! Having control over how to glue plugins would make it much easier to chain them in ways that hadn't been anticipated by the plugins' designers.
You wouldn't necessarily need to resolve IDs if there's a declarative way to name a plugin's output, so that the same name can be used as input for the next plugin, e.g. like CircleCI build artifacts and workspaces or GitLab job artifacts work. A resolveId hook could be useful if some particular plugins want to be told how to fetch specific data from previous job (e.g. refer to tokens within a JSON input?) but a lighter declaration-based system could also be used. After all, that's what import resolution already does, baked in Rollup, Webpack, etc., through a loose industry standard.
I'm also looking to CI pipelines for job ordering. One thing they do well is to left you declare prerequisites for each step and to then deduce the order of execution and parallelise it for you when possible, leading to better performance. One issue I have with "named steps" is that you may end up not knowing where to position a specific plugin, or you may need to control the order of two plugins on the same step. But an advantage they have is it's easier to provide sane defaults for them. I think that's what GitLab aims to do with stages. You could have a predefined order of stages, and plugins pick a default stage they want to run at, but someone wanting to do multi-platform / complex pipelines can run the same plugin with different inputs/prerequisite plugins and build a more complex graph. Defining prerequisite jobs could cancel out the default stage declaration.
It might also be somewhat easy to build cache on top of a CI-like system where, if the inputs for your plugin and/or the outputs for your required plugins is stable, and it was last run with the same version of your plugin, your plugin might be skippable. Having that baked in would make CD for long token/asset pipelines so much more responsive.
As for UX, I wonder how many DS engineers are comfortable with CI/CD systems vs bundlers like Rollup/Webpack, and how many orgs have people who can intervene on either. My intuition is that more people know CI/CD systems, so it might be harder to get into for folks accustomsed to SD, but more approachable overall. I like your plugin API and I wouldn't change it, but my gut feeling is that the plugin orchestration could take inspiration beyond Rollup.

Chewed on all your great comments and thoughts, and I’m going to start formulating a 2.0 API for plugins. The DTCG is working on a 1.0 stable release of the spec this year, which may not happen till the very end of the year. So what will probably happen is Cobalt 2.0 might get an early alpha version soon with an enhanced plugin API, but will intentionally hold off on a stable release for a long while, and try to release with support for 1.0 of the stable spec.

As an aside, I started scratching out ideas for a completely-different API that is more “pipeline-y” like GitLab and the tools you mentioned. But the more I went down that direction, it seemed to just be a bizarre rework of Style Dictionary’s design which IMO Style Dictionary already does a good job of. But as you pointed out, not all of Rollup’s design makes sense for tokens. So I ended up with some unique hooks that I think will make sense for tokens. But before sharing I want to see if the idea actually works for the existing plugins, and if so, can publish an alpha version (with docs) to get feedback on the new API.

The 2.0 beta is closer! This issue was a big inspiration for the new plugin API updates. You can also try the in-progress beta with:
pnpm i -D @terrazzo/cli @terrazzo/plugin-css

Would love feedback on the new Plugin API if you have any 🙏. I’m pretty excited about what this unlocks, thanks to your input and feedback!

Hi Drew!
Yay, super stoked to try this out! I think your hunch was right, my thinking was maybe a bit excessively influenced by SD.
I've since come across interesting use cases which SD is clearly unable to handle (where the name of a token depends on how it's grouped relative to other tokens), where your plugin-based API would outshine it. I'll try and get approval to share that data with you when I'm back in the office. Also got some more complex use cases to try a new API against (cc @pvignau).
At the moment I'm travelling (speaking at Config 😬 odds are you might be there too? 🍻), so I won't give signs of life until August. Will do my best to try it out then!

Hi Drew! Damn, I thought I'd answered. If you wanna get in touch I am connected to the Figma slack on #ext-config24-speakers, feel free to say hi :)

Drew, I've left you a message on slack with my phone number! I'll hanging in the building!

Closing because @terrazzo/cli does accomplish this currently. It’s looking highly-likely that some upcoming changes to the DTCG spec that revolve around modes. While modes aren’t directly related to the issue, just noting that there is a solution in the Terrazzo Plugin API to this issue that will carry forward into the future, even if there are some minor changes to the API as the spec adjusts


NoOp replication for primary term validation with remote store

Signed-off-by: Ashish Singh<EMAIL_ADDRESS>Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #4301 (e37d6c1) into main (5dd7947) will decrease coverage by 0.07%.
The diff coverage is 40.00%.

@@             Coverage Diff              @@
##               main    #4301      +/-   ##
============================================
- Coverage     70.78%   70.71%   -0.08%
+ Complexity    57309    57225      -84
============================================
  Files          4610     4610
  Lines        275105   275157      +52
  Branches      40283    40294      +11
============================================
- Hits         194745   194584     -161
- Misses        64093    64245     +152
- Partials      16267    16328      +61

Impacted Files
Coverage Δ

...ction/resync/TransportResyncReplicationAction.java
50.00% <0.00%> (-0.88%)
:arrow_down:

...in/java/org/opensearch/index/shard/IndexShard.java
68.47% <0.00%> (-0.80%)
:arrow_down:

...tion/support/replication/TransportWriteAction.java
78.41% <42.85%> (-2.04%)
:arrow_down:

...search/indices/recovery/RecoverySourceHandler.java
73.94% <48.64%> (-2.28%)
:arrow_down:

...ch/indices/recovery/PeerRecoveryTargetService.java
52.96% <66.66%> (-0.58%)
:arrow_down:

...ensearch/action/bulk/TransportShardBulkAction.java
78.92% <100.00%> (-0.69%)
:arrow_down:

.../java/org/opensearch/node/NodeClosedException.java
50.00% <0.00%> (-50.00%)
:arrow_down:

...ch/transport/ReceiveTimeoutTransportException.java
50.00% <0.00%> (-50.00%)
:arrow_down:

...opensearch/persistent/PersistentTasksExecutor.java
22.22% <0.00%> (-44.45%)
:arrow_down:

...n/admin/indices/readonly/AddIndexBlockRequest.java
35.71% <0.00%> (-35.72%)
:arrow_down:

... and 459 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


⚠ ClamAV has degraded performance

In 12d0aec, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 67 ms

Resolved: ClamAV performance has improved in 737d1a2.


[4.5] test: fix ShowTableInfoTest::testDbTableShowsDBConfig()

Description

fix test that waits user input forever

$ php spark db:table

CodeIgniter v4.4.3 Command Line Tool - Server Time: 2023-11-03 04:34:35 UTC+00:00

+-----------+----------+----------+----------+----------+------+
| hostname  | database | username | DBDriver | DBPrefix | port |
+-----------+----------+----------+----------+----------+------+
| localhost | ci4      | root     | MySQLi   |          | 3306 |
+-----------+----------+----------+----------+----------+------+

Here is the list of your database tables:
  [0]  migrations

Which table do you want to see? 0:

Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[x] Conforms to style guide

Can someone approve this?

@neznaika0 Thank you for review!


Keep Python API throughout the data modeling docs

Little change to keep the Python API consistent on the doc. It just changes getAll to get_all
Thanks! (I've signed the cla just in case)

Good catch! Thanks.


Move migrations to a CLI command/API endpoint instead of happening automatically

Is your feature request related to a specific problem?
As the title states, while sometimes convenient it is also potentially very dangerous or inconvenient to always run migrations on server start.
We should make this functionality configurable, and add a fides db migrate CLI command + admin endpoint
New fides.toml option
[database]
automigration = false # The server will not run initialization steps and will instead require the user to run 'fides db migrate'

fyi @pattisdr , what do you think about this solution?

ah that's a nice idea @ThomasLaPiana thanks for thinking about this

fyi @NevilleS @rsilvery @mfbrown this will be a product change, but will not break existing functionality

moving to done


feat: add docker containers to pi server

:tada: This issue has been resolved in version 1.16.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Additional key-value pairs being reported into session_start FTM Firebase event

Describe the bug
In querying BigQuery for session_start events, we are being returned key-value pairs that are associated with other event types.

To Reproduce
Steps to reproduce the behavior:
See queries in screenshots to run in BigQuery and view the results.
Expected behavior
All event types should only have the key-value listed in the spec sheet.
Screenshots
See above.
Desktop (please complete the following information):
N/A
Smartphone (please complete the following information):
N/A
Additional context
We should probably do a re-QA on all FTM event types outlined in the spec as something has changed since the last time we QA'd these.

Hi @burrage ,
I hope you are doing good. I wanted to provide you with an update on our ongoing efforts to resolve the issue we've encountered with the ftm_language parameter in the analytics event data.
Both Ashish Kumar and I are actively engaged in investigating the root cause of this issue. In our exploration, we referred to the documentation ( https://docs.google.com/spreadsheets/d/1tE4a0TcJZj-q14_5Xv96aR4z_dnEA2HZG8KLxcl-p8g/edit#gid=1321183123) specifically related to the start_session event parameters. It was reassuring to note that we are not utilizing any additional parameters such as target or success_or_failure within this context.
As part of our investigation, we are also exploring ways to streamline the analytics event data by removing unnecessary parameters. We understand the importance of optimizing the data for accuracy and efficiency.
If you have any insights, ideas, or tips that you believe might be beneficial in this context, we would greatly appreciate your input.
Rest assured, I'll keep you updated on our progress, providing insights into potential solutions as we continue this debugging process.

Hi @burrage ,
Hope you are doing good. We've optimized the session_start event in Firebase by eliminating unnecessary parameters and introducing event dates with timestamps. These modifications are live in the development APK . Please take a moment to review the corresponding data changes in BigQuery for the dev APK , also am sharing some screenshots for dev apk data. Once we merge these updates into the production environment, the improvements will seamlessly reflect there as well. If you have any queries or need more details, please let me know.


documentation:  add variable names for attributes being updated by CI/CD tools

Key name column needs to be added to the tables on Defining Components.  The key name is used to map the value to the specific entry field on the Component Definition.

BuildId
BuildUrl
Chart
chartversion
operator
DockerBuildDate
DockerSha
DockerRepo
GitCommit
GitRepo
GitTag
GitUrl
buildnumber
buildjob
ComponentType
ChangeRequestDS
Category
AlwaysDeploy
DeploySequentially
BaseDirectory
PreAction
PostAction
CustomAction
Summary

Change needs to be made in ortelius/ortelius-docs repo

Change needs to be made in ortelius/ortelius-docs repo

Application Definition key names:

FailureTemplate
SuccessTemplate
CustomAction
PostAction
PreAction
ChangeRequestDS

Note: The templates are unique so no domain name is required.

Application Definition key names:

FailureTemplate
SuccessTemplate
CustomAction
PostAction
PreAction
ChangeRequestDS

Note: The templates are unique so no domain name is required.

Hello Steve,
Are these keys should be added to sections: Container Specific Data Definition and Application Specific Data Definition ?
For some lines I am not able to identify keys (e.g. on below screenshot, lines with nulls: 96, 98, 99...). Is there any other matching key - different than name related?

Thank you.

@Javailabe the keys that need to be updated are just for the Application Specific Data Section.

Field
Description

FailureTemplate
The name of the Failure Notification Template to use on a deployment failure.

SuccessTemplate
The name of the Success Notification Template to use on a deployment succes.

CustomAction
The name of the custom action to execute for the deployment.  This will override the Post Action and Pre Actions.

PostAction
The name of the Pre Action to execute at the very beginning of the deployment.

PostAction
The name of the Pre Action to execute at the very end of the deployment.

Note: ChangeRequestDS should not be in the list. Added to the issue by accident.


Fix some examples and add v0.3 docs as epub

This commit adds v0.3 documentation as epub file (https://github.com/riker-rs/riker/issues/28).

Hi @snnsnn thanks for fixing those examples. For creating an epub also. Before I merge, how do you generate the epub? I guess we should generate this each time the site is updated and published.

how do you generate the epub?

I generated it using a chrome addon:
https://chrome.google.com/webstore/detail/webtoepub/akiljllkbielkidmammnifcnibaigelm?hl=en
With these settings:
Settings |
-- | --
Hostname: |  riker.rs
URL of first chapter: |  https://riker.rs/riker03/
(required) CSS selector for element holding content to put into EPUB: |  article
CSS selector for element holding Title of Chapter: |  article h1
CSS selector for element(s) to remove: |  a[title="Edit this page"]
Comma separated selector values can also be used.


Using Mario's script for doing a clean local<-> remote mapping.

[x] use of Marco's script for keeping a clean mapping between local and remote files (see https://github.com/opengisch/QField-docs/pull/265)
[ ] ensure that the github action is edited to make the most of the script
[ ] do a tx push before merging to ensure that the corresponding transifex resources are created as expected in the remote

Looks good


fix: change owner should check required domain list

这个 PR 实现什么功能/修复什么问题:
修正：将vpc、globalvpc更改owner时候，未检查下游资源（wire，vpc）的归属域情况

是否需要 backport 到之前的 release 分支:

release/3.2
release/3.3

/cc @zexi
/area region
/hold

Codecov Report

Merging #7375 into master will increase coverage by 3.02%.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##           master   #7375      +/-   ##
=========================================
+ Coverage    6.78%   9.81%   +3.02%
=========================================
  Files         703     425     -278
  Lines      124590   59093   -65497
=========================================
- Hits         8454    5798    -2656
+ Misses     115493   52813   -62680
+ Partials      643     482     -161

Flag
Coverage Δ

#aFlag
9.81% <0.00%> (+3.02%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/cloudcommon/db/domain.go
3.48% <0.00%> (-0.09%)
:arrow_down:

pkg/cloudcommon/db/domainresource.go
0.00% <0.00%> (ø)

pkg/cloudcommon/db/infraresource.go
0.00% <0.00%> (ø)

pkg/cloudcommon/db/managed.go
0.00% <ø> (ø)

pkg/util/netutils2/http.go

pkg/util/samlutils/response.go

pkg/compute/models/storagecachedimages.go

pkg/compute/models/scheduledtask_activity.go

pkg/util/netutils2/netutils_linux.go

pkg/compute/models/guestresource.go

... and 267 more

Continue to review full report at Codecov.

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

/lgtm
/approve


Depth image normalization

Hi!
How is the depth image normalization performed (xyz)?I check the original rgb and depth image, and the xyz (OCID_image_1.npy) image that you generated on the npy file. How is generated?

Hi @aitorgutierrez, the depth image is saved in millimeters. Please see the example notebook for how to load and visualize it.


Editing feature files directly in Augurk

At the Dutch SpecFlow Users meetup a couple of people suggested that it would be a great help if feature files could be edited in Augurk directly. Curiously enough those users actually store their feature files in a version control environment (e.g. Git, TFVC, etc...).
For this specific scenario it might be a neat solution to create a "suggest change" feature. This would allow a user to suggest a change to the feature file in Augurk. A more technical user will at a later time retrieve those changes through a Visual Studio plugin and process them.
Would this be a usable feature? Discuss!

Perhaps this could be combined with #2 review functionality?

Yes I think #2 would be the best start for this, as the main objective would be to get input from the business users that won't be using Visual Studio. If they are able to input feedback on specific features or maybe specific lines in scenarios, then the analyst can process that feedback and edit the scenarios in Visual Studio. This way you can maintain the comments/suggestions in your own Augurk database. The upside is also that you won't be causing conflicting changes to the features themselves, or have a business user with no specific Cucumber knowledge to break the feature files.
But being able to get input via Augurk would be a huge benefit. As suggested, a Medium.com type of user experience would be great.

I ment something different then what is described in #2
For me the most basic feature would be to simply edit the feature files as they are stored in source control. I understand objections about 'business people' breaking feature files (and automated testing), but in my experience even people with very limited IT experience are able to edit that is, build upon, feature files. For example in one of my projects an actuary worked a great deal on the feature files by expanding existing specifcations.
Building upon basic editing functionality I can envision things like:
-Only allow editing of existing structures like tables
-Check if the feature file is still 'valid' Cucumber (parsing)
-Prefix new specifications with a set tag (so it can be excluded in the build, maybe the @notyetimplemented tag)


BaseButton not available as a node type within editor

Unsure if this is a bug, or should really be a feature request, but I feel it needs discussion.
Godot version:
3.1.2 (Mono)
Issue description:
It is not possible to create a node of type BaseButton in the editor.
Unsure if this is to stop people using it accidentally, but BaseButton is a sensible base class to implement custom buttons from. BaseButton contains useful code for handling mouse states (over, pressed etc), and also accommodates touch behaviour when a button is dragged in a scroll container (so the press becomes a drag, not a press).
We allow the use of other node types which also must be extended before they can be used (e.g. Container). These classes display a warning in the editor indicating a script should be attached. The same behaviour should be used for BaseButton.
Minimal reproduction project:
No project. Node cannot be created in Godot editor.

For the record, this lists BaseButton but the same is true for many virtual classes in Godot, which are flagged as non instantiable (because it doesn't make sense to instantiate them as is in the editor - but it would make sense for custom classes that derive from them).
Texture is another example, or CanvasItem.

One way this could be solved, is to add stub classes. All a stub class would do is declare the BaseButton abstract methods and add a creation function, but it would not be added to ClassDB (nor need to use GDCLASS for that matter). Basically, ClassDB::register_virtual_class<T> would either take a second type parameter for the stub class, or just take the creation function as an argument:
class BaseButtonStub : BaseButton
{
    int abstract_method_to_declare() { return 0; }

public:
    BaseButtonStub() {};
};

`ClassDB::register_virtual_class<BaseButton, BaseButtonStub>`
// or passing a `Object *(*)()` function pointer
`ClassDB::register_virtual_class<BaseButton>([]() { return memnew(BaseButtonStub); })`.

This way the C++ class can still be abstract (forcing inheritors to declare the methods).
We could also add information in ClassDB about which methods are abstract, to allow generated bindings to still declare them abstract as well if they want (I would use that for C#).
cc @reduz

See discussion on https://chat.godotengine.org/channel/core?msg=zouZx6g6qDCM7L5Ji onward for @reduz's current plan.

Fixed by https://github.com/godotengine/godot/pull/58972.


Remove lwt from low level finalise

Part of #2039 is to remove lwt from low level start (already done) and finalise (this PR).
Rebased on #2063.

Codecov Report

Merging #2064 (8b1cb40) into main (5374885) will decrease coverage by 0.01%.
The diff coverage is 42.04%.

:exclamation: Current head 8b1cb40 differs from pull request most recent head 1f59acd. Consider uploading reports for the commit 1f59acd to get more accurate results

@@            Coverage Diff             @@
##             main    #2064      +/-   ##
==========================================
- Coverage   64.34%   64.33%   -0.02%
==========================================
  Files         131      133       +2
  Lines       15584    15571      -13
==========================================
- Hits        10028    10017      -11
+ Misses       5556     5554       -2

Impacted Files
Coverage Δ

src/irmin-pack/unix/gc_worker.ml
8.59% <8.59%> (ø)

src/irmin-pack/unix/async.ml
53.06% <40.00%> (-0.94%)
:arrow_down:

src/irmin-pack/unix/ext.ml
61.15% <70.00%> (-5.51%)
:arrow_down:

src/irmin-pack/unix/gc.ml
75.72% <75.25%> (+67.13%)
:arrow_up:

src/irmin-pack/unix/file_manager.ml
83.90% <100.00%> (+1.23%)
:arrow_up:

src/irmin-pack/unix/gc_intf.ml
100.00% <100.00%> (ø)

src/irmin-test/store.ml
94.82% <0.00%> (-0.06%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

I now remember how we planned on shipping the GC without Lwt. The idea was to check for GC-worker termination using a non-blocking call to waitpid.
Removing lwt from low level finalise would mean bringing back that technique.

@Ngoguey42 we already do not use Lwt for checking status of the gc worker process, so I think this is already done. See https://github.com/mirage/irmin/pull/2064#discussion_r959704643


Refactor API into new api package

Fixes #3316.

Changelog Entry
Added

Resolves #3316. Refactored platform-neutral APIs into the new api package, to be reused on React Native component, in PR #3543 by @compulim

The new layering is core -> api -> component (HTML-only) -> bundle
Includes composition mode, platform-neutral React hooks, and localization resources
Most hooks are available in the new api package. Some hooks are only available on the existing component package, due to their platform dependency or coupling with visual components. For example, Web Worker, 2D canvas, useMicrophoneButton* are not available on the api package
Most implementation of middleware are only available on component package due to their coupling with visual components or platform features. Some implementations, such as, card action middleware and activity grouping middleware, are available on api package. For example:

Carousel layout and stacked layout is only available on component package due to their coupling with their respective visual components
For card action middleware, imBack, messageBack and postBack actions are available on api package, but call, openUrl and other platform-dependent actions are only available on component package

activityMiddleware, attachmentMiddleware, etc, now support array for multiple middleware

Description
This is for refactoring platform-neutral APIs into a new api package, to be reused on React Native component.
Design
Please see #3316 for design.
In general, platform-neutral code are being moved to api package. Code that left on the component package assumes it is running inside a web browser.
We also improved error handling, because <ErrorBox> is a visual component and is platform-dependent. We need to update the error boundary component and render <ErrorBox> differently on different platforms.
Although both React and React Native should support styleSet, the content could be fundamentally different. Thus, styleSet are not offered in api packages, but in component and the future native-component package.
Specific Changes

Added new api package, layered between core and component

Moved most React hooks to the new api package
Moved localization resources to the new api package
Moved composition mode to the new api package

Split part of card action middleware into api package, while keeping some in the component package

imBack, messageBack, and postBack, which are platform-neutral, are moved to api package
call, openUrl, and others, are left untouched in the component package

Moved grouping activity middleware into api package
Improved error handling

Added new UserlandBoundary to add error boundary to user components (e.g. components rendered via middleware)
Added internalErrorBoxClass prop for internal use

Users of api package can pass their own React component (e.g. component package running in development mode)
api will render <ErrorBox> when error caught in error boundary, which in turn, will use the internalErrorBoxClass to render

When running in non-development mode (node_env !== 'development), component will pass undefined to internalErrorBoxClass and will hide the <ErrorBox>

[x] I have added tests and executed them locally
[x] I have updated CHANGELOG.md
[x] I have updated documentation

Review Checklist

This section is for contributors to review your work.

[x] ~Accessibility reviewed (tab order, content readability, alt text, color contrast)~
[ ] Browser and platform compatibilities reviewed
[x] ~CSS styles reviewed (minimal rules, no z-index)~
[ ] Documents reviewed (docs, samples, live demo)
[x] ~Internationalization reviewed (strings, unit formatting)~
[x] package.json and package-lock.json reviewed
[x] ~Security reviewed (no data URIs, check for nonce leak)~
[x] Tests reviewed (coverage, legitimacy)

What's the capability: renderer change?


feat: update aws-actions/configure-aws-credentials from v1-node16 to v4

v4 is the latest, and uses node20. listing this as a feature to release this package along with all the dependency upgrades that have been accruing.
Closes #742

Correct. Didn't change.


ShouldHaveValidationErrorFor fails when using OverridePropertyName

System Details

FluentValidation version: 8.4.0

Issue Description
I've the following test:
[Fact(DisplayName = "Observations With Invalid Length Have Error")]
public void QuoteRequestHaveErrorWhenObservationsHaveInvalidLength() => _fixture.Validator
	.ShouldHaveValidationErrorFor(quote => quote.Observations, SeedData.Common.CHAR_MORE_THAN_100);

And the validator with:
RuleFor(dto => dto.Observations).MaximumLength(100).WithMessage("The additional Observations exceeds the maximum length").OverridePropertyName("additional_observations");

However, the ShouldHaveValidationErrorFor in the code above is throwing an exception of
FluentValidation.TestHelper.ValidationTestException : Expected a validation error for property Observations
The properties of the QuoteRequest are decorated with Display attributes, but are not used in the validation exception unless I use OverridePropertyName.
The issue appears to be with ValidationResultTester which is not taking into account the OverridePropertyName.

I'm not sure if this would be considered but in the meantime, I created an extension method named ShouldHaveValidationErrorWithPropertyNameFor. Here's the code:
public static class FluentValidationExtensions
{
	public static IEnumerable<ValidationFailure> ShouldHaveValidationErrorWithPropertyNameFor<T, TValue>(this IValidator<T> validator, Expression<Func<T, TValue>> expression, TValue value, string propertyName, string ruleSet = null) where T : class, new()
	{
		var instanceToValidate = new T();
		var testValidationResult = validator.TestValidate(expression, instanceToValidate, value, ruleSet);
		return testValidationResult.ShouldHaveErrorWithPropertyName(propertyName);
	}

	public static IEnumerable<ValidationFailure> ShouldHaveErrorWithPropertyName<T, TValue>(this TestValidationResult<T, TValue> testValidationResult, string propertyName) where T : class
	{
		var failures = testValidationResult.Result.Errors.Where(x => x.PropertyName == propertyName || string.IsNullOrEmpty(propertyName)).ToArray();
		if (!failures.Any())
			throw new ValidationTestException($"Expected a validation error for property {propertyName}");

		return failures;
	}

	private static TestValidationResult<T, TValue> TestValidate<T, TValue>(this IValidator<T> validator, Expression<Func<T, TValue>> expression, T instanceToValidate, TValue value, string ruleSet = null, bool setProperty = true) where T : class
	{
		var memberAccessor = new MemberAccessor<T, TValue>(expression, setProperty);

		if (setProperty)
			memberAccessor.Set(instanceToValidate, value);

		var validationResult = validator.Validate(instanceToValidate, null, ruleSet: ruleSet);

		return new TestValidationResult<T, TValue>(validationResult, memberAccessor);
	}
}

This is actually coming in 8.5 - there will be a test helper overload that takes a string property name rather than an expression for cases where either the property name can't be represented as an expression (eg a in a nested colletion), or for this case where the property name has been overridden and therefore can't be tied directly to an expression.

Added in https://github.com/JeremySkinner/FluentValidation/commit/679d0e08600fb5fb29a3f105188732ed06c64dba / #1148


Use custom email validation instead of Mailgun Validation

Mailgun validation is both inefficient and costly(ish) for 100+ addresses/month. Better to use custom validation instead.

Fixed in 91e2016011e47b0cc9cc531f966e1b6c1f230f1f


Trying to implement bl_ui to one of my resources.

Getting this in my F8 console.
SCRIPT ERROR: @bc_communityservice/client/editable.lua:52: attempt to index a nil value (global 'bl_ui')
the bl_ui is ensured in server.cfg as following
#MINIGAMES
ensure bl_ui
using the 2.0.1version
release bl_ui.zip

because that is a variable referenced for exports.bl_ui, so use exports.bl_ui instead of bl_ui


Handbook: cd (change directory) instruction missing from /luminactbt.html#getting-the-source-code

https://lumina-desktop.org/handbook/luminactbt.html#getting-the-source-code
git clone git://github.com/trueos/lumina.git
git pull

That sequence of commands does not work. I think there's a line missing, a command to be performed after cloning:
cd lumina

Technically you would not need to type git pull after you cloned the repo because it's already up to date.
This is explained in the next paragraph. I've removed the extraneous git pull
https://github.com/trueos/lumina-docs/commit/45d8f463fe8bbbbbee0f0f1cf8870e9437792837


ComposeUIViewController has a white background

Describe the bug
ComposeUIViewController has a white background when passed for a UiView.
Affected platforms
Select one of the platforms below:

iOS

Versions

Kotlin version*: 1.9.0
Compose Multiplatform version*: 1.5.0-beta01
OS version(s)* (required for Desktop and iOS issues): iOS 16.4
OS architecture (x86 or arm64): arm64
JDK (for desktop issues): N/A

To Reproduce
Steps and/or the code snippet to reproduce the behavior:
@Composable
fun ComposeViewInUIView(){
    Box(Modifier.fillMaxSize().background(Color.Blue)) {
        UIKitView(factory = {
            ComposeUIViewController {
                Box(Modifier.size(90.dp).background(Color.Gray))
            }.view
        }, modifier = Modifier.size(100.dp))
    }
}

Expected behavior
The UIKitView should have a transparent background and let the background of the outer box fill up to the gray box.
Using a box as outer constraint:

When a size is not specified in the UIKitView then it should adapt to the ComposeUIViewController constraints.
Screenshots
See above for screenshots.
Additional context
Getting this solved would create opportunities for making custom pins for Apple Maps (MapKit) without specifying size.

Code:
@OptIn(ExperimentalForeignApi::class)
class CustomAnnotationView(annotation: MKAnnotationProtocol?, reuseIdentifier: String?) :
    MKAnnotationView(annotation, reuseIdentifier) {
    override fun initWithAnnotation(
        annotation: MKAnnotationProtocol?,
        reuseIdentifier: String?
    ): MKAnnotationView {
        return CustomAnnotationView(annotation, reuseIdentifier)
    }

    init {
        addSubview(
            ComposeUIViewController {
                Text("Text")
            }.apply {
                loadView()
            }.view.apply {
                setFrame(
                    CGRectMake(0.0, 0.0, 100.0, 100.0)
                )
                setClipsToBounds(true)
            }
        )

    }
}

Im wildly unqualified with iOS to understand what you did but i want to try. The reason it is "impossible" is because the metal renderer does not support opacity to background layers?

It does support opacity, and in fact, we use it for interop with UIKit views, but it's only working correctly for "completely transparent" and "completely opaque" use cases. Anything more sophisticated will cause rendering issues. Alpha different from 1 or 0 due to text rendering antialiasing may cause these issues as well, so there are a lot of underlying problems with no clear resolution for now.

But in my case i want the background to be completely transparent. Is this possible?

It is possible to make it completely transparent, but it will still cause issues

due to text rendering antialiasing

Thank you for your response.

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


router: use CloseNotify to cancel requests when clients disconnect

When a client disconnects, the router should also disconnect from backends (so they can stop doing unnecessary work). This was originally implemented in #926, but unfortunately that had to be put on hold due to incompatibilities in net/http between the CloseNotifier and Hijacker interfaces. That's documented in https://github.com/golang/go/issues/9763
Once that issue is resolved, it should be possible to alter the router so that it behaves well when clients go away.

Partially implemented by #964


Kimcartoon

It seems kimcartoon.li has changed there location for links for sbface.com, keephealthy.info and vidmoly.to instead of luxubu.review... so now it's harder to get the links.
I am trying it with a headless selenium but that's a waste of time .
Any fox soon ?

Yeah, @Poseidon444 is working on it.

I'll be changing the provider

I've been working on scraping kimcartoon entirely. Now I have to come up with a workaround again. Check my repo there's a sqlite db filled up completely yesterday.

alright


record_auth_timestamp will work for  2FA/U2F

closes #8441

Thank you!

Thank you!


Copy & paste timed traffic light settings

http://steamcommunity.com/workshop/filedetails/discussion/583429740/350533172687561393/

also suggested by @FlugMeister

Integrated.


Require is not defined in algebra.min.js (for browser use)

Hi.
As you described in the ticket 56 and ticket 57 the latest version of algebra.min.js should work in the browser (in my case chrome) but it didn't due to the fact that you are using require.
This is the error:
Uncaught ReferenceError: require is not defined

Neither the minified nor the created version from zip is working as expected.
Additionally you are pointing to ./src/ folder in the algebra.min.js file which is definitely NOT available.
Could you or someone else give me a hint how to solve this problem?
I have tested the algebra.min.js version 0.2.4 in chrome browser version  51.0.2704.103
Thanks in advance!

Browserify bundles source files that use require() with relative paths into a single standalone file. Read more here. Specifically:

Each file is concatenated into a single javascript file with a minimal require() definition that maps the statically-resolved names to internal IDs.

I've added the version to the file available at http://algebra.js.org/. Can you grab algebra-0.2.5.min.js and confirm it still doesn't work? I have it working as a standalone file in both Chrome and Firefox, evidenced at http://algebra.js.org/ if you open up the console in either browser and use the library. Please make sure you're using the correct path in your script tag and that you're actually defining Fraction, Expression, and Equation.
<script src="algebra-0.2.5.min.js"></script>
<script>
var Fraction = algebra.Fraction;
var Expression = algebra.Expression;
var Equation = algebra.Equation;
</script>

Alternatively, you could just use them off the algebra object:
var f = new algebra.Fraction(1, 2);
f.toString();

var e = new algebra.Expression("x");
e = e.add(f);

var eq = new algebra.Equation(e, 2);
eq.toString();

x = eq.solveFor("x");
x.toString();


Download ready .phar and self-update

https://github.com/certificationy/certificationy-cli/issues/6

Nice idea ! thank you.
Sorry for the delay, was busy.


Electron apps to be built from source

Until recently, it was non-trivial to build Electron-based apps from source (see #46382). I gather the situation has now improved and these packages can be revisited.

authy has been removed from Nixpkgs
bilibili currently packaged from .deb, little hope for building from source
breitbandmessung proprietary, no source available
[ ] camunda-modeler currently packaged from binary tarball
clockify proprietary, no source available
[ ] electronplayer currently packaged from AppImage
etcher was packaged from .deb, but has been removed from Nixpkgs
[x] feishin was packaged from binary tarball
[ ] figma-linux currently packaged from .deb
flexoptix-app proprietary, no source available
[ ] freetube currently packaged from AppImage
[ ] hakuneko currently packaged from .deb
[ ] headset currently packaged from .deb
[ ] itch currently packaged from binary tarball
[ ] logseq currently packaged from AppImage
[ ] mailspring currently packaged from .deb
[ ] mattermost-desktop currently packaged from binary tarball
morgen proprietary, no source available
nix-tour-unstable appears to be a web app which is just wrapped with Electron for convenience
obinskit has been removed from Nixpkgs
obsidian proprietary, no source available
[ ] p3x-onenote currently packaged from AppImage
pocket-casts appears to be a web app which is just wrapped with Electron for convenience
pritunl-client proprietary, appears to be a web app which is just wrapped with Electron for convenience
[ ] revolt-desktop currently packaged from AppImage
roam-research proprietary, no source available
[ ] standardnotes currently packaged from .deb
[ ] stretchly currently packaged from binary tarball
[ ] super-productivity currently packaged from AppImage
teleprompter was packaged from binary tarball, but has been removed from Nixpkgs
termius proprietary, no source available
[ ] terra-station currently packaged from .deb
[ ] thedesk currently packaged from .deb
[x] threema-desktop was packaged from .deb
tidal-hifi currently packaged from .deb, but needs Widevine so can't build from source
todoist proprietary, no source available
[ ] trilium-desktop currently packaged from binary tarball
[ ] tutanota-desktop currently just uses AppImage
[ ] uhk-agent currently packaged from AppImage
[ ] wire-desktop currently packaged from .deb
yesplaymusic was packaged from .deb, but has been removed from Nixpkgs

See also #295770 re: updating some of these packages, #17073 re: building Electron itself from source, and the from-source tracking project &6.
See also #291051 re: enabling Ozone globally.

Add a :+1: reaction to issues you find important.

how did you obtain this list? quite sure there's a lot more than just the listed

A grep followed by manual pruning. (I also tried nixpkgs-review, but the grep quickly brought up some it missed.) If an expression looked like it was downloading a Git repo rather than a .deb, I omitted it. So it's definitely possible that I made a mistake.

I'd try to add some more:

mailspring currently packaged from.deb

I am attempting to build Logseq from source, which requires converting ClojureScript to JavaScript first. However, I encountered issues with clj2nix due to hlolli/clj2nix#12. Additionally, clj-nix is not currently upstreamed (jlesquembre/clj-nix#72). I'm not sure if this is the right place to seek help, but I would greatly appreciate it if anyone could provide a solution or example for creating Clojure applications.

is there any information about what the right way to build electron is? or just a good example?

https://github.com/NixOS/nixpkgs/pull/303638 should be a good example, accurate as of April.
(Docs would be awesome for this though.)

For yesplaymusic it seems that the upstream has been unmaintained for a while and is effectively abandonware. I've managed to get it to build but either way it is using terribly outdated Node.js and Electron versions, and I think it's better to just drop it.
See #364839

Packages blocked by #355053:

standardnotes
revoltchat

Packages missing lockfiles:

p3x-onenote (https://github.com/patrikx3/onenote/issues/222)

I'm going to work on thedesk and update it to thedesk-next while I'm at it.

thedesk may not be possible to package due to dependency errors. Maybe it would be able to be patched, but I doubt it. Specifically, electron-window-state is unable to find its dependency jsonfile for some odd reason.
I cannot find any info, but I do have my current progress here in an in-progress fork.
Maybe I could get some help from somebody more experienced in this?


Add workflow to retain Azure storage disks on PVC or PV delete

Description
Recently while updating test net k8s cluster a recently added API endpoint
was skipped from testing because DevOps team was not aware of the new
endpoint and an issue with this endpoint on new cluster was only caught after
we moved the test net to new cluster. To avoid this in the future this PR adds a
standard PR template to delegate dependencies whenever applicable.
Issues This PR Fixes
Fixes #1432
Deployment Notes
Documents improvements in k8s Deployment workflow
How to QA
Follow the steps and change PV reclaim policy on your
dev deployments.
Impacted Areas in Application

No Scale impact
No Performance impact
No Security impact

Codecov Report

Merging #1782 into master will decrease coverage by 73.58%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #1782       +/-   ##
==========================================
- Coverage   98.58%     25%   -73.59%
==========================================
  Files          59      59
  Lines        2896    2896
==========================================
- Hits         2855     724     -2131
- Misses         41    2172     +2131

@shahbazn The Description section for this PR (above) doesn't seem right.


QA for https://github.com/microsoft/workshop-library/tree/main/intro-notebooks

[x] All elements of the workshop are in place (README, workshop designer, solution if necessary, any images if necessary, slides, a call-to-action with a Learn module linked (usually in "Next Steps" area), a knowledge check (either in slides or directly linked to the workshop README) and an area to extend knowledge.
[x] The workshop can be done in its listed time frame
[ ] Instructions are clear and well written
[x] The workshop is bug-free
[x] The workshop 'flows' well

fixed 2 links per Shekinah's QA, thanks Shekinah!


python310Packages.tubeup: 2023.8.19 -> 2023.9.18

Changelog: https://github.com/bibanon/tubeup/releases/tag/2023.9.18
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x ] Fits CONTRIBUTING.md.

This version was yanked https://github.com/bibanon/tubeup/issues/313


[Bug]: no navgation to home page

Description
there is no navigation option to return to the main home page.
Expected Behavior
by clicking oscode logo it should take it to main home page
Show us the trouble with screenshots

Which browsers are affected?
No response
Which OS are affected?
No response
Enter the version of your web browser
chrome
Device?
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

@Vaishnavi-Patil2211 please assign me this issue


Request to add OTA feature for RX65N-RSK

Request to add OTA feature for RX65N-RSK
Description
Request to add OTA feature for RX65N-RSK
Checklist:

[x] I have tested my changes. No regression in existing tests.
[x] My code is Linted.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hi, @VanNamDinh .  This PR is far too large to be meaningfully reviewed.  I think the best way to make progress would be to resubmit these changes as a series of smaller PRs, each of which is thematically cohesive (i.e., focusing on a single set of related ideas/changes).  Furthermore, it would be very valuable for you to request reviews from people you know with comprehensive knowledge of the RX65N-RSK as a first pass.

To add a little more detail to @dan4thewin's comment, I see a couple of areas of concern here:

This PR includes changes to FreeRTOS+TCP networking code (libraries/freertos_plus/standard/freertos_plus_tcp/source/portable/NetworkInterface/RX/NetworkInterface.c) which is shared among many different platforms.  If that change is required, it should be submitted in a separate pull request.  The same is true for any code outside of the vendors/renesas directory.
There are some .dll files in this directory (vendors/renesas/rx_mcu_boards/tools/mot_file_converter/packages/Newtonsoft.Json.12.0.2/lib/net20).  Those should not be distributed in this repository but rather via the vendor's website.

Hi @gkwicker ,
Thanks for your support !

We will resubmit in a separate pull request as soon as possible.
We have a few questions regarding .dll files. So should we remove .dll files from this repository ?
We're going to move vendors/renesas/rx_mcu_boards/tools/mot_file_converter to our website or GitHub (convert tools repository maybe). For more details, we only keep all files in this direction vendors\renesas\rx_mcu_boards\tools\mot_file_converter\Renesas Secure Flash Programmer\bin\Debug. And then, upload it to our website or GitHub. Your team members can download it to run IDT tests. Is this ok?

Hi @gkwicker ,
Thanks for your support !
1. We will resubmit in a separate pull request as soon as possible.

2. We have a few questions regarding .dll files. So should we remove .dll files from this repository ?
   We're going to move vendors/renesas/rx_mcu_boards/tools/mot_file_converter to our website or GitHub (convert tools repository maybe). For more details, we only keep all files in this direction vendors\renesas\rx_mcu_boards\tools\mot_file_converter\Renesas Secure Flash Programmer\bin\Debug. And then, upload it to our website or GitHub. Your team members can download it to run IDT tests. Is this ok?

In general it is best to distribute binary tools and .dll files on your website or the website of the tool vendor, and provide documentation here on how to download/install them so that the tests can be run.


updated short description of package.json. Closes #216

What's this PR do?
It changes the description in package.json
What are the important parts of the code?
look at the description field in package.json
What are the relevant tickets? (Please add closes, refs, etc)
closes #216

this was submitted from a far behind version.  Can't merge cleanly.

I'm confused; was the new description updated in the newest branch or not?

This PR was incorrect. I've done it correctly in my open PR.


Remove required props for values having defaultProps

Hi guys !
The issue:
Maybe it's a wanted behaviour, but since 267ccfb787d81f1514d8419a52f45340de89b154 some props such as pageSize are required even if they have default values.
The idea
Just remove the isRequired on those props.
Cheers !

By analyzing the blame information on this pull request, we identified @nathanajah and @pglotov to be potential reviewers.

Should we remove the isRequired for renderScrollComponent as well?
@hramos Yeah sure, I'll add it

@hramos 👀

I think something went wrong with that import. Let me make sure Travis & Circle pass and then I'll land this pr.

Unfortunately tests aren't passing and we can't land this. @ahanriat can you look into that?

Sure I'll take a look 👀

@hramos, I've rebased the PR, the CI fails on npm run flow check command, which make sense as there is no flow type definition in the ListView.js file.
I see 3 main solution:

Add extra code check on each flow error
Add FlowType definition (I don't know exactly the syntax with the React.createClass
Disable Flow on this file

What do you think ? :)


How can I support a multi-tenant system by programmatically switching DBs depending on the request?

At run time, I would like to specify the database connection to use once the HTTP request has been authenticated (via a policy). What is the best approach to achieve this goal?
For example, a GET request with a header of "tenant_id: smith" is received in order to list all users (e.g. /users). I wish to now switch to the "smith" Mongo DB to query and return the relevant data for that tenant.

I believe there may be a way to have Waterline support Multi-Tenancy. I've documented my research here: https://github.com/balderdashy/sails-mongo/issues/130#issuecomment-68918072
Please let me know what you think. I will be starting development tonight / this week. Thank you,

I have submitted a Pull Request: https://github.com/balderdashy/waterline/pull/787