Expose wind

Checklist

[X] I have added a changelog entry to CHANGELOG.md file on the branch/fork (if it is an internal change then it is not needed)
[X] Pull request meets the Coding Conventions standards: https://github.com/MontyTRC89/TombEngine/blob/master/CONTRIBUTING.md#coding-conventions

Links to issue(s) this pull request concerns (if applicable)
N/A
Description of pull request
This exposes to Lua the wind vector that was applied to the current frame by the engine.
This allows applying the same wind (or an altered version of it) to a custom object, or even Lara herself (for example if she's using a parachute).
I named the branch expose_weather_parameters in case other things related to weather come to mind (for example the wind's base strength, and direction, and maybe even overwriting them), but the PR is ready to use as-is otherwise.
Feel free to amend the description in the doc, I'm not convinced myself with it!

Is it possible to have SetWind() too?

Is it possible to have SetWind() too?

No. The wind is question is the random vector computed by the engine to simulate the wind.
What could possibly be done is setting the base strength, and the direction (so they both need dedicated getters/setters). But I don't really understand which variable is what.


Fix vcpkg_extract_archive to support 7z/exe extracting

Fixes #34881
While attempting to unpack a downloaded 7z/exe archive using vcpkg_extract_source_archive, I encountered a malfunction, prompting an investigation into alternative methods. My exploration led me to utilize vcpkg_extract_archive, where I discovered an issue in the extension handling logic.
The existing implementation intended to support unpacking files with either a .7z or .exe extension but failed due to an incorrect regex pattern. Specifically, the pattern [[\.7z\.exe$]] does not correctly separate the two intended extensions, resulting in unsuccessful archive extraction operations.
To validate my findings, I constructed a sandbox environment within a portfile.cmake script, enabling me to simulate the extraction process and pinpoint the precise issue. Upon correcting the regex pattern to [[\.7z|\.exe$]], vcpkg_extract_archive successfully unpacked archives with both .7z and .exe extensions.
set(PORT_DEBUG ON)

vcpkg_download_sourceforge(
    7ZIPBIN_ARCHIVE
    REPO sevenzip/7-Zip
    REF 16.04
    FILENAME "7z1604.exe"
    SHA512 939869d9a60571c2f380ffe29ec40e7930d47e8295a2995e9ec56143319584b809fddd39a6e9df6e4b7c5e29b4925f588ca483e3c6f6758c5db54e13e2a3388c
)

cmake_path(APPEND CURRENT_BUILDTREES_DIR "src" OUTPUT_VARIABLE working_directory)
cmake_path(GET 7ZIPBIN_ARCHIVE STEM SOURCE_BASE)
file(SHA512 "${7ZIPBIN_ARCHIVE}" patchset_hash)
string(SHA512 patchset_hash "${patchset_hash}")
string(SUBSTRING "${patchset_hash}" 0 10 patchset_hash)
cmake_path(APPEND working_directory "${SOURCE_BASE}-${patchset_hash}" OUTPUT_VARIABLE source_path)
cmake_path(APPEND_STRING source_path ".clean")
file(REMOVE_RECURSE "${source_path}")
cmake_path(APPEND_STRING source_path ".tmp" OUTPUT_VARIABLE temp_dir)
file(REMOVE_RECURSE "${temp_dir}")
vcpkg_extract_archive(
    ARCHIVE "${7ZIPBIN_ARCHIVE}"
    DESTINATION "${temp_dir}"
)
cmake_path(SET temp_source_path "${temp_dir}")

file(RENAME "${temp_source_path}" "${source_path}")
file(REMOVE_RECURSE "${temp_dir}")

It's not entirely incorrect, it's working fine for SFX 7z archives with .7z.exe extension :)
See https://github.com/Microsoft/vcpkg/commit/3e90c7dad9594680c10116fd684c1b31575fbdee


redirect route? authorized routes

How would you do this ?  to make sure that the url is authorized
**Update:
Answer from @koistya on Gitter:

One way to do so is to have a route handler similar to this one const authorize = (state, next) => { if (!state.user) { state.redirect = '/login'; next(); } } and then in your routes file:
on('/admin/users', authorize, (state) => )
And add a handler in your render function which checks if state.redirect was set, and if so redirect user to the new location by using Location.pushState(null, state.redirect) on a client, and req.redirect(state.redirect) on server

can you give me full example?

A redirect example would be useful.

This is roughly what I have. I'm not satisfied but it works for now.
router.js
const authorize = (state, next) => {
  if (!state.isAuthenticated) {
    state.redirect = '/login'; next();
  }
}

// If trying to access login page when Authenticated
const redirectAuth = (state, next) => {
  if (state.isAuthenticated) {
    state.redirect = '/';
  }
}

const router = new Router(on => {

  on('*', async (state, next) => {
    const component = await next();
    return component && <App context={state.context}>{component}</App>;
  });

  // Authenticated pages
  on('/editor', async (state, next) => {

    authorize(state, next);

    return (
      <EditorPage />
    )
  });

    // Public pages
  on('/login', async (state, next) => {

    redirectAuth(state, next);

    return (
      <LoginPage />
    )
  });
})

app.js
function run() {
  let currentLocation = null;
  let currentState = null;

  // Make taps on links and buttons work fast on mobiles
  //FastClick.attach(document.body);
  ReactTapEvent();

  // Check cookies if already logged in
  AppActions.isLoggedIn();

  let isAuthenticated = AppStore.isAuthenticated();

  // Get user data if authenticated
  if (isAuthenticated) {
    let userId = AppStore.getAuth().userId;
    AppActions.getUser(userId);
  }

  // Re-render the app when window.location changes
  const unlisten = Location.listen(location => {
    isAuthenticated = AppStore.isAuthenticated();

    currentLocation = location;
    currentState = Object.assign({}, location.state, {
      path: location.pathname,
      query: location.query,
      state: location.state,
      isAuthenticated: isAuthenticated,
      context
    });

    render(currentState);
  });

...

@mfrye  app.js is running on node server right?

@mfrye  what is ReactTapEvent() ?

@koistya is there any possibility now to redirect to different route? I see that post is quite old and universal-router API has changed since then?

Admin route + redirect example:
client.js
import UniversalRouter from 'universal-router'
import { createHistory } from 'history'
import routes from './routes'

history = useQueries(createBrowserHistory())
history.listen(onLocationChange)
history.replace(history.getCurrentLocation()); // initial render

async function onLocationChange(location) {
  try {
    const routeActionResult = await UniversalRouter.resolve(routes, {
      path: location.pathname,
      store: { isAdmin: false },
      redirect(to) {
        const error = new Error(`Redirecting to "${to}"...`)
        error.status = 301
        error.path = to
        throw error
      }
    })

    syncOrAsyncClientSideRenderFn(routeActionResult)
  } catch (error) {
    if (error.status === 301) {
      history.replace(error.path || '')
      return
    }
    // log or display other errors here
  }
}

server.js
import express from 'express'
import UniversalRouter from 'universal-router'
import routes from './routes'

const server = express()
const port = process.env.PORT || 3000

app.get('*', async (req, res, next) => {
  try {
    const routeActionResult = await UniversalRouter.resolve(routes, {
      path: req.path,
      store: { isAdmin: false },
      redirect(to) {
        const error = new Error(`Redirecting to "${to}"...`)
        error.status = 301
        error.path = to
        throw error
      }
    })

    const html = syncOrAsyncServerSideRenderFn(routeActionResult)
    res.status(200).send(html)
  } catch(error) {
    if (error.status === 301) {
      req.redirect(status.path || '/')
      return
    }
    next(error)
  }
})

server.listen(port, () => {
  console.log(`Node.js app is running at http://localhost:${port}/`)
})

routes.js
export default [
  {
    path: '/',
    action() {
      return 'main page'
    }
  },
  {
    path: '/login',
    action() {
      return 'login page'
    }
  },
  {
    path: '/admin',
    action({ store, redirect }) {
      if (store.isAdmin) return 'admin page'
      return redirect('/login') // or return undefined to render 404 instead
    }
  }
]

@frenzzy would be great to see such example in documentation :)

@frenzzy It is needed do redirect through exception?

@langpavel nope, it is just the easiest way to stop executing all routing code. In other way you need to handle redirect in several places (for example in each root/parent route) or add implementation to the core of router. But I do not see anything wrong with the exception approach, because we still need to handle errors such as 404 or 500.

@frenzzy It seems that there is already a try catch block for route action in resolve function which take precedence over the try catch block above. For now, I set a boolean for redirection when required and use that to redirect later.


Fix deprecation warnings about enumerating or adding to ActiveModel::Errors

Fixes two deprecation warnings about how ActiveModel::Errors are handled.
DEPRECATION WARNING: Enumerating ActiveModel::Errors as a hash has been deprecated.
In Rails 6.1, errors is an array of Error objects,
therefore it should be accessed by a block with a single block
parameter like this:
person.errors.each do |error|
attribute = error.attribute
message = error.message
end
You are passing a block expecting two parameters,
so the old hash behavior is simulated. As this is deprecated,
this will result in an ArgumentError in Rails 7.0.
DEPRECATION WARNING: Calling << to an ActiveModel::Errors message array in order to add an error is deprecated. Please call ActiveModel::Errors#add instead. (called from must_have_description_or_image at /home/runner/work/mushroom-observer/mushroom-observer/app/models/glossary_term.rb:103)

Whoops, apparently these changes need to wait for 6.1, cannot be backported to 6.0. Closing this PR.


Always set height when ImgWidthHeight is set to true.

To be able to remove CLS when using images with different ratios on the same profile, the height attribute should always be set.
for now the height attribute is only set when
ImgWidthHeight  is true and you have an aspectratio>0 or FixedHeight is set.

Hi. Yeah, maybe it should be set by default for a "single-image". When showing multiple different images they might have different aspect ratios (and thus different heights). Then width and height can be set on the source element instead, at least Chrome and Safari supports it (https://web.dev/optimize-cls/#modern-best-practice).
It is however not possible to set the height without providing an aspect ratio. The height is calculated using the width and aspect ratio.
CLS can always be avoided using a container element and CSS.

The scenario is that in Optimizely in a block we want the user to be able to add any image, where we use your plugin to create different srcsets, However we do not want to limit the block to only one aspectratio. We want the user to be able to add an without worrying about aspect ratios, eg we do not know the sizes (could be 10x400 or 542x47)  and the height will be set based on that. Could a solution be that an overload is created where we pass in the original width and heights, taken from the imageblob,  that either is just set or calculated to new values for those profiles that do not use aspectratio or fixed width?

Ok, I understand. Would it solve your issue if you could set that the aspect ratio should be set to whatever the original image has, instead of specifying a fixed value?
That can be done, but... unfortunately Optimizely CMS does not store the image sizes (as far as I know). So you would need to store height and width on the image object yourself when a image is uploaded. Like this: https://world.optimizely.com/forum/developer-forum/Developer-to-developer/Thread-Container/2017/3/filling-image-width-and-height-automatically-in-imagedata/
Once that data is available it's an easy thing to extend PictureRenderer.Optimizely to use those values.
Would that approach work for you?

We have access to that data so we can provide that to the the PicturerRenderer. So yes i think that approach will work.

Hi. I was just about to look into adding this feature, but I realize that you already can set the aspect ratio dynamically. If you know the height and width of the original image you can calculate the aspect ratio yourself, and create a new picture profile and send that as input parameter to the Renderer.


Use TopicPartition.topic for metrics

I noticed that the metrics always use scope.topic() after #224.
I think it's useful to keep metrics separate between normal topic and retry topic. This change will use scope.topicPartition().topic() to use the retry topic name for metrics when handling the retry topic.

This has been released as 8.0.1. Thanks for your contribution :) https://github.com/line/decaton/releases/tag/v8.0.1

OK, thanks for your help.


Add mcpwm_capture_channel_unregister_event_callbacks function

This PR addresses the second part of #9520 that is

mcpwm_capture_enable_channel != mcpwm_new_capture_channel
mcpwm_capture_disable_channel != mcpwm_del_capture_channel

In my scenario, I turn the MCPWM capture on and off, and I don't want to allocate and free resources each time nor do I want to configure the GPIO and reset it many times, resulting in obsessive GPIO logging (see the linked issue for an example). Moreover, allocating and freeing MCPWM resources caused me an unidentified behavior in the logic of my app, and I cannot easily spot the source of the error. Turning on and off the callbacks doesn't produce such erroneous behavior and works as intended (equivalent to the old mcpwm_capture_enable_channel and mcpwm_capture_disable_channel API).
If you don't want to provide API to enable and disable a specific MCPWM channel, let at least the user register and unregister callbacks, which gives the user a taste of the legacy behavior.

As for the first part of the linked above issue, calling mcpwm_capture_channel_register_event_callbacks and mcpwm_capture_channel_unregister_event_callbacks immediately after an MCPWM is initialized provides a workaround but does not, of course, solve the issue.
static void syncman_mcpwm_init(syncman_handle_t *shandle) {
    mcpwm_capture_timer_config_t cap_timer_conf = {
        .clk_src = MCPWM_CAPTURE_CLK_SRC_DEFAULT,
        .group_id = 0,
    };
    ESP_ERROR_CHECK(mcpwm_new_capture_timer(&cap_timer_conf, &shandle->cap_timer));
    ESP_ERROR_CHECK(mcpwm_capture_timer_enable(shandle->cap_timer));

    const Board_t *board = board_get();
    mcpwm_capture_channel_config_t channel_gps_conf = {
        .gpio_num = board->gps_gpio.pps,
        .prescale = 1,
        .flags.neg_edge = false,
        .flags.pos_edge = true,
        .flags.pull_up = false,
	.flags.pull_down = true,
    };
    ESP_ERROR_CHECK(mcpwm_new_capture_channel(shandle->cap_timer, &channel_gps_conf, &shandle->channel_gps));

    mcpwm_capture_channel_config_t channel_rtc_conf = {
        .gpio_num = board->rtc_gpio.sqw,
        .prescale = 1,
        .flags.neg_edge = true,
        .flags.pos_edge = false,
        .flags.pull_up = false,
	.flags.pull_down = false,
    };
    ESP_ERROR_CHECK(mcpwm_new_capture_channel(shandle->cap_timer, &channel_rtc_conf, &shandle->channel_rtc));
}

static void syncman_mcpwm_enable(syncman_handle_t *shandle) {
    mcpwm_capture_event_callbacks_t cbs = {
        .on_cap = ...,
    };
    ESP_ERROR_CHECK(mcpwm_capture_channel_register_event_callbacks(shandle->channel_gps, &cbs, (void*) shandle));
    ESP_ERROR_CHECK(mcpwm_capture_channel_register_event_callbacks(shandle->channel_rtc, &cbs, (void*) shandle));
    ESP_ERROR_CHECK(mcpwm_capture_timer_start(shandle->cap_timer));
}

static void syncman_mcpwm_disable(syncman_handle_t *shandle) {
    mcpwm_capture_channel_unregister_event_callbacks(shandle->channel_gps);
    mcpwm_capture_channel_unregister_event_callbacks(shandle->channel_rtc);
    ESP_ERROR_CHECK(mcpwm_capture_timer_stop(shandle->cap_timer));
}

static void syncman_task() {
    syncman_mcpwm_init(shandle);

    // TODO: a workaround: enable & disable
    // without this workaround, gps_init() results in the error
    syncman_mcpwm_enable(shandle);
    syncman_mcpwm_disable(shandle);

    gps_init();
}

Hi @dizcza can mcpwm_capture_channel_register_event_callbacks(cap_channel, NULL, NULL); meet your requirement?

I didn't understand the question. Do you mean does it provide a workaround or what?

Sorry, not a workaround, if we provide a NULL callback function, It should work just like the unregister function.

Sorry, not a workaround, if we provide a NULL callback function, It should work just like the unregister function.

Yes, passing a NULL callback does the same job as my unregister function.

Ok we can either

add a note to the mcpwm_capture_channel_register_event_callbacks docs that this function can also be used to unregister the events callback by passing NULL
or provide the unregister function explicitly as a wrapper for mcpwm_capture_channel_register_event_callbacks.

I imagine, the first approach is more esp-idf friendly as I recall other modules work in a similar way to unregister something

Thanks for your suggestion @dizcza  We should add a doc for that special case!

Thanks for your suggestion @dizcza We should add a doc for that special case!

All right. Will you do this?

On second thought, passing NULL is not equivalent to my unregister callbacks function for two reasons:

esp_intr_alloc_intrstatus should not be called in unregister, should it?
mcpwm_ll_intr_clear_status should be issued in unregister

All right. Will you do this?

Yes, we will update the doc.

esp_intr_alloc_intrstatus should not be called in unregister, should it?

No, the interrupt is lazy installed, which will only happen at the first call of this function.

mcpwm_ll_intr_clear_status should be issued in unregister

Hmmm, I'm afraid we can't simply clear the interrupt status when unregistering the event handler.  In your application, you want to skip the next capture events, so it's OK to clear it. But there also could be cases where users want to reserve the unhandled events. Do you think it's possible to handle the "skip unwanted events" in the user's event callback?

No, the interrupt is lazy installed, which will only happen at the first call of this function.

What I mean is that if the user calls unregister only (after the initialization), which does not make sense but is still a valid scenario, esp_intr_alloc_intrstatus will be called. This should not happen.

you want to skip the next capture events

I don't want to skip the next capture event. I want to ignore currently captured events if any.

Do you think it's possible to handle the "skip unwanted events" in the user's event callback?

Don't know if it's possible, but it will surely confuse the users. You gain negligible control and lose simplicity. Instead, an option to clear pending interrupts when unregistering from callbacks - by whatever means - is a better choice.

Thanks @dizcza Finally we agree to expose two more APIs to enable and disable the capture channel. Hope they will meet your requirement.

I'm eager to see what these functions are doing. mcpwm_capture_channel_register_event_callbacks and the same function passing null cbs.on_cap to it (you'll need to emphasize that it's on_cap which is NULL, not the argument cbs itself, which would lead to an error)  are almost identical to enabling and disabling the channels at least from the user perspective (the channels will be still running and consuming energy, which could be bad for someone but not for me).

Also, exposing these two APIs will require calling enable after new and disable before del just like in MCPWM timers.

Hi @dizcza we've updated the MCPWM capture channel driver recently on the master (and surely will backport it to 5.0).

Yeah, I saw the changes. Looks OK to me.
Though it'd be nice to see a lifecycle of an MCPWM module (as well as for other ESP32 peripherals) just like a lifecycle in Android. From the documentation, it's not clear the order in which the user should call these functions. Examples do help.
Something like
init -> register_callbacks -> enable -> disable -> delete

I also noticed you deleted ~ ESP_INTR_FLAG_INTRDISABLED from the interrupts flag.


Run perf tests on Jenkins beam-perf node

Node 16 is set aside for perf tests, but currently only used by 4 tests
https://github.com/apache/beam/search?q=beam-perf

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @kennknowles

The performance node is specifically needed for tests that run locally on the Jenkins worker (such as direct runner or flink local runner jobs). It's configuration prevents multiple jobs from running to reduce the noisy neighbor problem. Jobs that run on the Dataflow runner probably shouldn't be moved to this node as they run the performance sensitive code on a Dataflow worker and not the Jenkins worker.

The performance node is specifically needed for tests that run locally on the Jenkins worker (such as direct runner or flink local runner jobs). It's configuration prevents multiple jobs from running to reduce the noisy neighbor problem. Jobs that run on the Dataflow runner probably shouldn't be moved to this node as they run the performance sensitive code on a Dataflow worker and not the Jenkins worker.

Makes sense. I'll update our wiki to add this information.


Update json_typed.rs

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!

flows summarize

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!

Commit 0224464 - Key changes:

The Post struct has been modified. The id field has been changed to an Option and the title field has been removed.
The main function has been partially deleted.

Potential problems:

It seems that there is a formatting issue at the end of line 14. The code appears to be cut off.
Overall, the changes made to json_typed.rs appear to be removing some fields from the Post struct and partially deleting the main function. There is also a formatting issue.

Commit 5b5e111e89232bcd72c7

 Key changes: - The `Post` struct has been modified. The `id` field has been changed to an `Option` and the `title` field has been removed. - The `main` function has been partially deleted.
Potential problems:
It seems that there is a formatting issue at the end of line 14. The code appears to be cut off.
Overall, the changes made to json_typed.rs appear to be removing some fields from the Post struct and partially deleting the main function. There is also a formatting issue.

flows summarize

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!

Commit 0224464 - Key changes:

The Post struct has been modified. The id field has been changed to an Option and the title field has been removed.
The main function has been partially deleted.

Potential problems:

It seems that there is a formatting issue at the end of line 14. The code appears to be cut off.
Overall, the changes made to json_typed.rs appear to be removing some fields from the Post struct and partially deleting the main function. There is also a formatting issue.

flows summarize

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!

flows summarize

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!

flows summarize

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!

flows summarize

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!


Undefined values in Update Tasks

->When the users update a task, undefined value is getting populated in Category field and also no values are getting populated in Start Date and End Date fields. We need to make sure to populate the values properly in order to give a clear idea to the users what they're going to update from.
Observation
->I think there's some issue in the code regarding the category field which needs to be taken care of and also there isn't any code related to Date field due to which they aren't getting populated.

Previously when ever we used to click edit task feature there was textbox which was being populated with undefined and start date and end date values were being populated with empty values. So i have updated this feature by fixing the text box to dropdown which have Physical and Intellectual Values and even i am populating this dates with original values. So this is fixed now.


Chosen update - add karma tests

hey @leocaseiro!
I updated chosen.query - tried the example/index.html and it works as expected!
I also added some basic tests in this branch - maybe you can tell me what would be important to test additionally!
I think adding tests here is not a bad idea ;)
Fix #80 #166

@IpsBetty for the chosen version update you might wanna check out https://github.com/leocaseiro/angular-chosen/pull/168

Also no problem, some of your changes are similar to the changes I've already made 😉

@kfarst do you want to merge it in this branch?

Very nice @lpsBetty!
Loved it. Now we can add Travis to our repo!
That would be interesting to add './test' dir to be ignored for bower and npm. Also include the test on gulp build task, so if any test fails, gulp should warn about it before compile.
Do you wanna try implement that?

@kfarst but chosen-npm is also not the 'real' chosen, it is an old version - but they will release the original on npm soon: https://github.com/harvesthq/chosen/issues/1433

@leocaseiro  what do you mean by

That would be interesting to add './test' dir to be ignored for bower and npm.

@lpsBetty @leocaseiro go ahead and merge this PR in when you're done with it, I'll rebase and fix any merge conflicts when I'm done, but I'll definitely use a lot of what you did @lpsBetty

I meant to ignore from bower and npm, so who download from package manager don't need to have tests, though: a266f1081d89726

Thanks for that AWESOME work, btw!

@lpsBetty I've got an error trying to install chosen-npm#1.5.1, had to select 1.4.2. I'll keep 1.4.2 in our package.json until they release the 1.5.0 into npm.

ah ok :) yeah that's ok!


Small clean-ups of architecture-specific code in FloatingPointControl

Slight continuation of #4272.
Changes:

FloatingPointControl.roundingMask: New public RoundingMode value
FloatingPointControl.ExceptionMask: New public base type for exception mask enum.
EXCEPTION_MASK, ROUNDING_MODE: Remove internal values.

Now, the only parts that need changing for adding ports are FPU exception masks, and the asm code which gets/set the control word.

Ping?


feat: add guumaster/hostctl

guumaster/hostctl: Your dev tool to manage /etc/hosts like a pro
$ aqua g -i guumaster/hostctl

Check List

[x] Read CONTRIBUTING.md

[x] Read OSS Contribution Guide

[x] All commits are signed
[x] Avoid force push
[x] Do only one thing in one Pull Request
[x] Execute cmdx s to scaffold code
[x] Install and execute the package and confirm if the package works well

How to confirm if this package works well
Reviewers aren't necessarily familiar with this package, so please describe how to confirm if this package works well.
Please confirm if this package works well yourself as much as possible.
Command and output
$ hostctl -h

hostctl is a CLI tool to manage your hosts file with ease.
You can have multiple profiles, enable/disable exactly what
you need each time with a simple interface.

Usage:
  hostctl [command]

Available Commands:
  add         Add content to a profile in your hosts file.
  backup      Creates a backup copy of your hosts file
  disable     Disable a profile from your hosts file.
  enable      Enable a profile on your hosts file.
  help        Help about any command
  list        Shows a detailed list of profiles on your hosts file.
  remove      Remove a profile from your hosts file.
  replace     Replace content to a profile in your hosts file.
  restore     Restore hosts file content from a backup file.
  status      Shows a list of profile names and statuses on your hosts file.
  sync        Sync some system IPs with a profile.
  toggle      Change status of a profile on your hosts file.

Flags:
  -c, --column strings     Column names to show on lists. comma separated
  -h, --help               help for hostctl
      --host-file string   Hosts file path (default "/etc/hosts")
      --no-color           force colorless output
  -o, --out string         Output type (table|raw|markdown|json) (default "table")
  -q, --quiet              Run command without output
      --raw                Output without borders (same as -o raw)
  -v, --version            version for hostctl

Use "hostctl [command] --help" for more information about a command.

If files such as configuration file are needed, please share them.
Reference

https://github.com/guumaster/hostctl/blob/v1.1.4/README.md

Thank you!

I had created a PR by mistake.
It's okay to close it🙏


HA Core Failure after upgrade.

Hi just a heads up..
I hade a failure after upgrading yesterday so had to manually remove the plugin to get HA Core to work.
See...
https://github.com/home-assistant/core/issues/113127

Hello..
Having the same problem as you Superzite. Not sure what to remove from the core.entity.registry file.
I got results from running: jq -r '.data.entities[] | select(.unique_id | type == "array") | {unique_id, platform}' /config/.storage/core.entity_registry
What did you remove ?
Tnx

Had the same issue here, caused by the unique_id for the sensors being an array instead of a string (ref https://github.com/home-assistant/core/pull/109966#discussion_r1482778678).
I manually removed the 3 entries i had from this integration in .storage/core.entity_registry after which everything boots up fine again.
example part causing the crash:
"unique_id": [
1,
"Restavfall",
"https://komteksky.norkart.no/minrenovasjon.api/Ikoner/restavfall.png",
"2024-03-18T00:00:00",
"2024-04-02T00:00:00"
],

Had the same issue here, caused by the unique_id for the sensors being an array instead of a string (ref https://github.com/home-assistant/core/pull/109966#discussion_r1482778678).
I manually removed the 3 entries i had from this integration in .storage/core.entity_registry after which everything boots up fine again.
example part causing the crash:
"unique_id": [
1,
"Restavfall",
"https://komteksky.norkart.no/minrenovasjon.api/Ikoner/restavfall.png",
"2024-03-18T00:00:00",
"2024-04-02T00:00:00"
],

Same problem here.

Can someone please make a "howto" edit ".storage/core.entity_registry" from CLI to slove this? I have the samme issue.
Tried to remove minrenovasjon from configuration.yaml, but this did not work.

Can someone please make a "howto" edit ".storage/core.entity_registry" from CLI to slove this? I have the samme issue.
Tried to remove minrenovasjon from configuration.yaml, but this did not work.

Not sure how comfortable you are with vim or nano? But basically you need to open that file in your editor of choice and search for (or find manually):
vim .storage/core.entity_registry
Press / and type "unique_id": [ and press Enter to run the search. Pressing n repeats the search for the next entry.
That should find the unique_id entries which uses an array - The whole corresponding entity should then be removed. Most likely you will find all from MinRenovasjon after eachother. Careful that the last entity ends with a ‘}’ and not ‘},’ if yours were at the end of your file.

Worked, thanks! Managed to get in to UI and restore a backup. MinRenovasjon integration works with the previous version.

Worked, thanks! Managed to get in to UI and restore a backup. MinRenovasjon integration works with the previous version.

Great - i’d still consider removing it though. Reading the various threads it seems like this is a permanent change which means MinRenovasjon won’t work with newer version of HA.

Ok. So keeping the old version might still cause trouble? I hoped the developer would fix the issue.

Ideally stop this update (take it away) before even more people crash their installation!

The developer here can fix the addon but can’t do much about the home assistant (ha-core) change causing it.
@larsactual - not until you update home assistant again.

Is it the HA Core Update or the MinRenovasjon update to avaoid?

Is it the HA Core Update or the MinRenovasjon update to avaoid?

HA Core. They introduced a change that does not accept unique id to be an array anymore. Or alternatively disable MinRenovasjon and then you can update ;)

I had to do a full restore from backup a few days ago. Thought it was a combination of upgrade to 2024.3 or HA OS 12.1, so I stayed on 2024.2, but then it crashed again after a reboot.  So it's not only 2024.3.

I added #21 yesterday to solve this. @Danielhiversen If you can merge it, we can avoid more broken installations

Any command via CLI to boot into safemode? Would be more easy to fix vs CLI/ terminal
Have the same crash and WAF is degraded to ZERO....

@kennethnilssen ssh did start up for me, so you can try that. if you have ssh add on installed.

@kennethnilssen ssh did start up for me, so you can try that. if you have ssh add-on installed.

I managed to start core_ssh, but it is not configured.
core won't update, nor rebuild. I also removed the config from core.entity_registry on min renovasjon, but can't remove it as it is not found by names as min_renovasjon when I try to uninstall the addon.
running cli command "addons" brings up a list that runs by too fast to read one by one...
Smells like reinstall and import backup.
Scary that one such a small config can crash the hole home assistant.

@kennethnilssen ssh did start up for me, so you can try that. if you have ssh add-on installed.

I managed to start core_ssh, but it is not configured.
core won't update, nor rebuild. I also removed the config from core.entity_registry on min renovasjon, but can't remove it as it is not found by names as min_renovasjon when I try to uninstall the addon.
running cli command "addons" brings up a list that runs by too fast to read one by one...
Smells like reinstall and import backup.
Scary that one such a small config can crash the hole home assistant.

Depending on how you run your HA, you could remove the sd card/hard drive and plug it into your pc, or in the case of docker/vm mount the filesystem, manually removing the integration and entities in the config file causing the crash.
But i agree its a little concerning how a 3rd party integration can crash (and prevent boot up) of the system like this. Though i did see that HA is considering some options to make it "soft" fail instead of crash like this.

@kennethnilssen ssh did start up for me, so you can try that. if you have ssh add-on installed.

I managed to start core_ssh, but it is not configured.
core won't update, nor rebuild. I also removed the config from core.entity_registry on min renovasjon, but can't remove it as it is not found by names as min_renovasjon when I try to uninstall the addon.
running cli command "addons" brings up a list that runs by too fast to read one by one...
Smells like reinstall and import backup.
Scary that one such a small config can crash the hole home assistant.

Depending on how you run your HA, you could remove the sd card/hard drive and plug it into your pc, or in the case of docker/vm mount the filesystem, manually removing the integration and entities in the config file causing the crash.
But i agree its a little concerning how a 3rd party integration can crash (and prevent boot up) of the system like this. Though i did see that HA is considering some options to make it "soft" fail instead of crash like this.
Edit: also if you are looking for the offending entries in the core.entity_registry, dont search for their name or the integration, search for "unique_id": [ as that indicates the entry has an array for unique_id (which is the core problem)

Thx, so in the case where i.e. ""unique_id": [" states NULL will also make this issue?

Thx, so in the case where i.e. ""unique_id": [" states NULL will also make this issue?

As far as i know HA now only accepts strings as unique_id, i dont think NULL should cause an issue though, unless its some variant of "unique_id": [ NULL ]. Essentially there should be no [ ] as part of the unique_id as that sets it as an array.

Thx, so in the case where i.e. ""unique_id": [" states NULL will also make this issue?

As far as i know HA now only accepts strings as unique_id, i dont think NULL should cause an issue though, unless its some variant of "unique_id": [ NULL ]. Essentially there should be no [ ] as part of the unique_id as that sets it as an array.

Thank you @torhaala , I´m back online again thx to your help!


Persist airflow metadata

Hi @tuanavu, I would like to persist the jobs metadata in airflow every time I turn off and lift the service via docker. It seems that every time I start the service a new database is created. Do you know how can I do that?
Regards ;)

Hi @iamalonso,
Airflow stores all metadata in the DB, in this case we use the Postgres DB docker service. In order to persist the metadata, you just need to create the database somewhere else, and change the config to point to your new database.
Hope it helps!


Train the transform model on my own dataset.

Thank you for your excellent work!
Now I want to have a try on my own dataset (2D gray CT image of lung). Can this transform model work on this type data?
If you can give me some advice, I'll be very appreciate:)

Thank you for your interest! The spatial transformation will work best with 3D data, since it is not explicitly designed to handle occlusions. If your 2D images do not contain a lot of occlusions, and each image contains the same anatomical regions such that they can be registered to each other, then this model might work.


Questions about sweep_num

Hello, author, I want to repeat the example of GaN in your article,
There's a problem here：
sampling_settings = {
"total_sweeps": 10,
"sweep_size": 64,
start_temp: 0.1, # in terms of kbT
"perform_annealing": False,
"alpha": 1.0, # no annealing
"canonical": True,
"num_ads_atoms": 50,
"require_distance_decay": True,
"require_per_atom_energies": True,
"adsorbates": ["Si"],
"run_folder": run_folder,}
Do I need to change the total_sweeps value here to 500，Then I don't need to change any other parameters.Thank you!

Hi, you might be following the Si example. Please check out the GaN example here: tutorials/GaN_0001.ipynb. And yes, please change total_sweeps to 500.

Thank you very much!


chore(main): release 4.1.3

:robot: I have created a release beep boop
4.1.3 (2023-08-22)
Minor changes and bug fixes

add more sorting options to /shards command (3a93193)
add node.js process memory usage per shard (c5a21ae)

Miscellaneous

add comment to Dockerfile (8a73e0b)
change wording (943ad0b)
removed unused asset (adf1a48)
update new and beta status of commands (6e3c465)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/mariusbegby/cadence-discord-bot/releases/tag/v4.1.3 :sunflower:


Updated agent id header which is sent from AG to applications

@clicktravel-basharat Seems to be fine


CSS comments always put on new line.

Broken again in latest:
>npm install js-beautify
+<EMAIL_ADDRESS>added 28 packages from 21 contributors and audited 125 packages in 1.954s
found 0 vulnerabilities

>echo h1{color:red;/*comment*/} > test.css

>js-beautify -f test.css
h1 {
  color: red;
  /*comment*/
}
>type .jsbeautifyrc
{
        "brace_style": "collapse,preserve-inline",
        "break_chained_methods": false,
        "eval_code": false,
        "extra_liners": [],
        "indent_char": " ",
        "indent_level": 0,
        "indent_size": 2,
        "indent_with_tabs": false,
        "jslint_happy": true,
        "keep_array_indentation": false,
        "keep_function_indentation": false,
        "max_preserve_newlines": 3,
        "newline_between_rules": false,
        "preserve_newlines": true,
        "space_before_conditional": true,
        "unescape_strings": false,
        "wrap_line_length": 0
}

css.replace(/;\n\s*\/\*/gs, '; /*') should fix that.

This has been the expected behavior at least back to 1.7.5, so not a break.
However keeping single line comments on the same line is a reasonable enhancement.

Would be good to see option for keep comments in the same line.
I hope you bring it. Please

I have very limited time to work on this currently.  If you are interested in this feature being added, I invite you to implement it and submit a PR.

Broken again in latest:
>npm install js-beautify
+<EMAIL_ADDRESS>added 28 packages from 21 contributors and audited 125 packages in 1.954s
found 0 vulnerabilities

>echo h1{color:red;/*comment*/} > test.css

>js-beautify -f test.css
h1 {
  color: red;
  /*comment*/
}
>type .jsbeautifyrc
{
        "brace_style": "collapse,preserve-inline",
        "break_chained_methods": false,
        "eval_code": false,
        "extra_liners": [],
        "indent_char": " ",
        "indent_level": 0,
        "indent_size": 2,
        "indent_with_tabs": false,
        "jslint_happy": true,
        "keep_array_indentation": false,
        "keep_function_indentation": false,
        "max_preserve_newlines": 3,
        "newline_between_rules": false,
        "preserve_newlines": true,
        "space_before_conditional": true,
        "unescape_strings": false,
        "wrap_line_length": 0
}

css.replace(/;\n\s*\/\*/gs, '; /*') should fix that.

where do i put this?  i tried adding it to user settings but that didn't work

css.replace(/;\n\s*\/\*/gs, '; /*') should fix that.

where do i put this? i tried adding it to user settings but that didn't work

That's JavaScript. You could try modifying https://gist.github.com/CTimmerman/cf0e5f4339cd8f7922515b95d875b3b1 or simply use Notepad++ to regex replace all in your CSS file.

still happening... It would be very helpful to have comments in-line

still happening... It would be very helpful to have comments in-line

is there any alternative extension to workaround this bad behavior

is there any alternative extension to workaround this bad behavior

VS Code TypeScript and JavaScript Language Features
VS Code JSON Language Features - Supports incomplete JSON.
Prettier - Doesn't.


envoy: 0656e34e0c8

Includes:

https://github.com/envoyproxy/envoy/pull/18301

I am going to go ahead and merge @goaway


This template is not mobile friendly?

The template is simply not mobile compatible at all. Navbar breaks, image breaks

Indeed, it should be easy fix, just didn't find the time to make it right. It should only need 2/3 tailwind css classes and it should be fixed.
I'll fix it next week

FYI, the SaaS Boilerplate is now fully responsive 🎉
You can find the PR at https://github.com/ixartz/SaaS-Boilerplate/pull/13, it also includes various little changes


feat: add notification bot

We are getting:
2780 |:| INFO |:| 2022-09-25 14:42:29.364 |:| Discord is enabled: True
2780 |:| INFO |:| 2022-09-25 14:42:29.365 |:| Twitter is enabled: True
Traceback (most recent call last):
  File "/home/shredder/git/notification-discord-bot/notification_discord_bot/main.py", line 73, in <module>
    main()
  File "/home/shredder/git/notification-discord-bot/notification_discord_bot/main.py", line 67, in main
    check_for_updates(msg_sender)
  File "/home/shredder/git/notification-discord-bot/notification_discord_bot/main.py", line 55, in check_for_updates
    msg_sender.send_discord_message(discord_message)
  File "/home/shredder/git/notification-discord-bot/notification_discord_bot/main.py", line 36, in send_discord_message
    self.discord_webhook.send(embed=msg)
  File "/home/shredder/.cache/pypoetry/virtualenvs/notification-discord-bot-eXHKOFjM-py3.10/lib/python3.10/site-packages/discord/webhook.py", line 989, in send
    return self._adapter.execute_webhook(wait=wait, file=file, files=files, payload=payload)
  File "/home/shredder/.cache/pypoetry/virtualenvs/notification-discord-bot-eXHKOFjM-py3.10/lib/python3.10/site-packages/discord/webhook.py", line 164, in execute_webhook
    maybe_coro = self.request('POST', url, multipart=multipart, payload=data, files=files_to_pass)
  File "/home/shredder/.cache/pypoetry/virtualenvs/notification-discord-bot-eXHKOFjM-py3.10/lib/python3.10/site-packages/discord/webhook.py", line 363, in request
    raise HTTPException(r, response)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In embeds.0.thumbnail.url: Scheme "ipfs" is not supported. Scheme must be one of ('http', 'https').

when trying to run this. Must be because it is trying to post ipfs media on twitter.

Above comment addressed


[release-4.11] OCPBUGS-15649: Updating imagestreams to use newest Jenkins and Jenkins Agent Base images

/lgtm

/jira refresh


Binding to byte array?

I have a C# object containing a byte array property containing the gif data instead of loading gif files on disk (so I can work in-memory and transfers gifs over wcf, without ever saving them as files on disk).
I was previously using WpfAnimatedGif and it worked perfectly, I could just do a
gif:ImageBehavior.AnimatedSource="{Binding Data}"
Where Data is my byte[] property.
Now I encountered the problem with memory leak when displaying more than a few gif at once, ended up on your blog and noticed I had to switch to XamlAnimatedGif to fix it. Binding a byte array to SourceUri of SourceStream doesn't work anymore.
I tried a simple method (not sure if it's safe, should be disposed?):
        // Raw gif file as byte array
        public byte[] Data { get; set; }
        public MemoryStream DataStream
        {
            get
            {
                return new MemoryStream(Data);
            }
        }

and
gif:AnimationBehavior.SourceStream="{Binding DataStream}"
Unfortunately, I don't see anything get displayed, and no error message either.

Hi @Dunge,
Are you sure that Data is never null when the DataStream property is called? Also, you can subscribe to the Error event to detect GIF loading and rendering errors.

Thanks for the reply.
From a breakpoint, I can assure Data is never null when called.
I played a bit around by transforming DataStream to be a NotifyPropertyChanged property, and I can see that if I set the DataStream property on an event (button click, etc.) it works fine, but if it is set during the viewmodel class constructor before the window/control is shown, I get an error "Cannot access a closed Stream.":
at System.IO.__Error.StreamIsClosed()
at System.IO.BufferedStream..ctor(Stream stream, Int32 bufferSize)
at System.IO.BufferedStream..ctor(Stream stream)
at XamlAnimatedGif.Extensions.StreamExtensions.AsBuffered(Stream stream)
at XamlAnimatedGif.AnimationBehavior.InitAnimation(Image image)
Worth saying that I never close the Stream, the XamlAnimatedGif library probably does at some point.
This is unfortunate, because I would like to put the animated gif in a DataTemplate inside a ListBox that the binded ItemsSource collection is a simple list of object containing byte arrays of gifs, without having to do code-behind to create events that would allocate streams and dispose them.

Could you show more of your code?

Worth saying that I never close the Stream, the XamlAnimatedGif library probably does at some point.

I think it could happen if the binding happens more than once. The second time, the previous Animator is disposed, which in turn disposes the stream. The stream should probably not be closed if it was provided via SourceStream. I'll fix it soon, unless you want to take a stab at it.

Sorry for the delay. I'm just writing to say that I did not forget about this ticket, but am currently busy on other projects.
I don't think the problem is a second binding, because it does that the first time the window display. When I change the binding to a new stream is when it work, not the other way around.
My code is in a pretty big project with tons of dependencies and I can't share it, so I decided to try to reproduce my problem in a new separate project, and everything works fine. So the problem might lie on my side. I'll try to find more time to trim it down until I can see what's causing it. To be continued.

Salut Thomas,
I have progress on this issue and now believe it is indeed a problem in the library, but very far and much more deep than what I first expected.
I ended up loading the library source instead of the nuget package to debug what was happening. I was having an InvalidSignatureException getting catched in the InitAnimationAsync method. I found the thrower was in the GifHeader decoding validating that the first 3 bytes are 'GIF' even if my stream first 3 bytes really are 'GIF'. I then realized that it ran this code twice, both reading in parallel asynchronously from the same stream and one progress would impact the cursor position on the stream for the loading of the second run. I tracked back the source to the AnimationBehavior::InitAnimation() being called twice due to dependencyproperty changing, once for the SourceStream property, once for the RepeatBehavior property.
Removing the RepeatBehavior property made things work, and adding it on my external progress broke it. When I was re-affecting the SourceStream property on a button click, only one was refresh so the loading was working properly.
So in short, you read the same stream simultaneously because two property change triggers simultaneously, and it cause problems. Now, I know the cause, but I'm not sure how to fix it. You know your project better than me, would it be possible you look at it?
I created a VERY simple vs2013 solution reproducing it, you can download it here:
http://www.jamlogic.com/download/Gif.zip
Merci!

Ouch, that's pretty bad... thanks for the investigation, I'll see what I can do.

OK, I think I have a fix: https://github.com/XamlAnimatedGif/XamlAnimatedGif/pull/82
There were actually two different issues

Animator was always disposing the source stream, which caused a problem in your "byte array" scenario: when the RepeatBehavior was changed, it caused the animation to be reinitialized, disposing the previous Animator, which caused the stream to be disposed as well. In fact, the library should never dispose a stream that was provided directly by the user (via the SourceStream property), because it doesn't own it. Now Animator disposes the stream only if it was created by the library from a URI.
Setting the RepeatBehavior caused the animation to be reinitialized. It seemed easier to do it this way initially, but it was inefficient and caused the issue you described above. Now it no longer recreates the whole animation, it just signals the Animator to change its RepeatBehavior. This is more efficient and avoids the concurrent stream access.

I haven't merged the fix yet; could you try it and confirm it works for you?

Thank your very much for the quick fix, it is appreciated.
With the new code, the gif now display properly.
But now, when I close the window hosting the gif control, I receive System.OperationCanceledException and System.Threading.Tasks.TaskCanceledException. I never really worked with Cancellation Token, so I'm not sure if this is normal or not. Should I send a cancellation signal in my window closing event to tell the lib to stop playing the gif?
Also, I don't want to ask too much, but I'm coming back to my original question. What do you think about the idea of directly binding to a byte array and let the lib handle the stream internally (like WpfAnimatedGif was doing, and the normal .NET Image control Source property support)? Having to handle the creation and dispose of the stream in an intermediary class between my data model (raw bytes that get serialized) and the view (user control) is giving me a bit of trouble. It's easy when you have a view model for the window showing a single image control but it becomes an headache in a complex project like mine. I have a list of objects of multiple types bound to a listbox. Each of my type have DataTemplate saying how to display it, and only when I get the animation type I need to display the gif control, but in this case it need to be a "view model gif" to handle the stream lifespan instead of my raw data so I need to transform them into a sub class to handle said stream, which is not quite easy. The "easy" way I made it (in my first post, always creating a new memorystream) leak and expose a property in my data that can't get serialized. I hope this make sense.
On a separate note, how fast do you update the nuget library when releasing a fix / new version? If I want to release something next week, do you recommend I include the project from source instead of the nuget package?
Thanks again, sorry for making things complicated :)

But now, when I close the window hosting the gif control, I receive System.OperationCanceledException and System.Threading.Tasks.TaskCanceledException

Where are you seeing this? These exceptions can be thrown internally when the animation is stopped, but they should be surfaced outside the library. Are you sure they're not just first-chance exceptions that are caught later?
Anyway, I don't see these exceptions in the test project you sent.

Also, I don't want to ask too much, but I'm coming back to my original question. What do you think about the idea of directly binding to a byte array and let the lib handle the stream internally (like WpfAnimatedGif was doing, and the normal .NET Image control Source property support)?

WpfAnimatedGif wasn't doing anything to handle this; I think it must be done automatically by WPF when you bind an ImageSource property to a byte array.
Honestly, I don't really like the idea. I worry that if I start adding too many features for specific use cases, the library will become bloated and hard to maintain. In this case, there's already a way to do what you want (using a MemoryStream)

Having to handle the creation and dispose of the stream in an intermediary class between my data model (raw bytes that get serialized) and the view (user control) is giving me a bit of trouble. [...]

I haven't seen your code, but it looks like you're probably overthinking it... The lifetime of the stream isn't really an issue; streams should generally be disposed, but for MemoryStreams, it doesn't really matter, because they don't use any unmanaged resources, and are practically free (they just wrap the byte array passed to the constructor). They will be garbage collected after use anyway. So you could use a binding converter to wrap the byte array in a MemoryStream.

On a separate note, how fast do you update the nuget library when releasing a fix / new version? If I want to release something next week, do you recommend I include the project from source instead of the nuget package?

Pretty fast. I typically make a new release every time I fix an issue. When I merge the branch, the new package can be on NuGet minutes later.

Ok, thanks for the clarifications.
You are right the exceptions only appear as "first-chance" in the output window.
I also just read about MemoryStream disposing, and you are right they don't leak anything, so that's great. It seems a bit strange not to dispose something implementing IDisposable, but I like the idea of using a Converter for this, much easier than what I was going to do.

OK, I'll merge the fix then

Version 1.1.6 is deployed on NuGet (might be a few minutes before it appears in search results, because indexing isn't complete yet)


Rename Stage to Tool

We have Stages and ManagementTools, which are quite similar but also different in meaningful ways (e.g., Stages have State but ManagementTools don't; Stages are meant to be sequenced but ManagementTools are not, etc.).
Should they both be called Stage or Tool?
IMO, everything should be a Tool. People automatically know what "Tool" and "Toolchain" mean in context, while "Stage" and "Sequence" require explanation like "a Stage is a tool that you can chain into a Sequence..."
Under this change, the classes would be:

Tool: base class
BuildTool: the class formerly known as Stage
ManagementTool: the class currently known as ManagementTool
ToolChain: the class formerly known as Sequence

Example BuildTools: discover, export-pytorch, benchmark
Example ManagementTools: report, cache, version

@danielholanda @ramkrishna2910 @vgodsoe please discuss this decision

I find that most of the confusion comes from our initial attempts to it a stage and a few puns around it.
What it we instead use some terminology that is common in compiler flows (e.g. passes instead of stages)?

"You can run a sequence of stages" is much easier to understand than "You can combine multiple build tools into a tool chain".

Agree.

What it we instead use some terminology that is common in compiler flows (e.g. passes instead of stages)?

The nice thing about Tool is that it applies equally well to both the build tools (e.g., export tool) and the management tools (e.g., report tool).
Some more brainstorming:

I do agree that "pass" and "tool" are both more standard names than "stage."
IMO "pass" is somewhat specific to compiler people though (have you ever heard a non-compiler person talk about a "pass")?
Olive uses "pass" as the term for their stage-equivalent functionality, so perhaps that's the ONNX-standard name at this point

I've been trying out Tool and I think it's good.


port: [#6841] SkillDialog.InterceptOAuthCardsAsync doesn't support CloudAdapter

Fixes # 4741
#minor
Description
This PR ports the changes in [#6848](https: //github.com/microsoft/botbuilder-dotnet/pull/ 6848) updating the interceptOAuthCards method in SkillDialog to support CloudAdapter in combination with expect replies delivery mode.
Specific Changes

In interceptOAuthCards added a call to UserTokenAccess.exchangeToken method, which handles both adapters.

Testing
These images show the token exchange for CloudAdapter and expect replies before and after the fix.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

11 of 14 (78.57%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.4%) to 84.879%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

libraries/botbuilder-dialogs/src/skillDialog.ts
11
14
78.57%

Totals

Change from base Build<PHONE_NUMBER>6:
-0.4%

Covered Lines:
20362

Relevant Lines:
22944

💛  - Coveralls

/promoted 4766


Add edit functionality

currently, if you enter something wrong, you can't edit. We should implement this.

Completed via 67de3395516e3137f070ad29036a9115157e5c17 and e4476ef95c6911d0e88aa975e317210e5a200739. This will still need to be re-done for the volunteering screen when it is finished, but for now, it's done.


v<IP_ADDRESS> Goto definitions dont work. No intellisense for imports too

<IP_ADDRESS>
With the above version goto definitions dont work, same for imports -  there is no intellisense and I cannot see any of members within a package. Can you pls quickly fix it ?

Is it for Sui ot Aptos?
On Thu, Jan 18, 2024, 23:36 mpsc0x @.***> wrote:

<IP_ADDRESS>
https://plugins.jetbrains.com/plugin/14721-move-language/versions/stable/468602
With the above version goto definitions dont work, same for imports -
there is no intellisense and I cannot see any of members within a package.
Can you pls quickly fix it ?
—
Reply to this email directly, view it on GitHub
https://github.com/pontem-network/intellij-move/issues/130, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAR3XQ67KQKWLPRIY2ZBC23YPGBWDAVCNFSM6AAAAABCA4VGGWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA4DSMBRGIYTOMA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Is it for Sui ot Aptos?
…
On Thu, Jan 18, 2024, 23:36 mpsc0x @.> wrote: <IP_ADDRESS> https://plugins.jetbrains.com/plugin/14721-move-language/versions/stable/468602 With the above version goto definitions dont work, same for imports - there is no intellisense and I cannot see any of members within a package. Can you pls quickly fix it ? — Reply to this email directly, view it on GitHub <#130>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAR3XQ67KQKWLPRIY2ZBC23YPGBWDAVCNFSM6AAAAABCA4VGGWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA4DSMBRGIYTOMA . You are receiving this because you are subscribed to this thread.Message ID: @.>

@mkurnikov aptos!

I need a bit more context.
Did it work on the previous version of the plugin?
Did you just create a new package, or used an existing one? If you've just created a new package, and dependencies haven't been fetched from git yet, it could give such an error.
Also, what's the version of your IDE, and version of aptos-cli.

Ok, thanks, I've reproduced.
It cannot read the dependency packages because of the error that occurs parsing your .aptos/config.yaml file.
As a quick workaround, could you try deleting/renaming your config.yaml file and see whether the issue is fixed? IDE restart could be required.

@mkurnikov That worked ! Thanks a lot. Your help is really appreciated!


Fix: https://github.com/ReactiveX/RxGo/issues/234

Maybe Window function also should be addressed?

Pull Request Test Coverage Report for Build 760

19 of 23 (82.61%)  changed or added relevant lines in 1 file are covered.
12 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.1%) to 84.004%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

observable_operator.go
19
23
82.61%

Files with Coverage Reduction
New Missed Lines
%

observable.go
1
86.47%

iterable_eventsource.go
3
90.2%

observable_operator.go
8
81.36%

Totals

Change from base Build 758:
-0.1%

Covered Lines:
2736

Relevant Lines:
3257

💛  - Coveralls

Yup, I saw :) @teivah  Does this change do in a right way? Or you would do it different? Do I have to update BufferWithTimeOrCount, WindowWithTime and WindowWithTimeOrCount?

Yup, I saw :) @teivah Does this change go in a right way? Or you would do it different? Do I have to update BufferWithTimeOrCount, WindowWithTime and WindowWithTimeOrCount?

Yes, I like the approach. Let's forget about this causalityDuration for the time being and keep things simple.
If you want to tackle the others as well, yes please :)

@v-zubko Some tests are failing like Test_Observable_WindowWithTime

Where are they failing? CI is green :)

On my local env:
        	Error Trace:	assert.go:225
        	            				observable_operator_test.go:1665
        	Error:      	Not equal:
        	            	expected: []interface {}{5, 6, 7}
        	            	actual  : []interface {}{5, 6, 7, 8}

Try repeating them. Also, some tests like Test_Observable_BufferWithTime are taking 9 seconds.

9 seconds is expected. Cause of delays.

BTW are you sure that you've got latest version? Cause I see another expected values:
Assert(ctx, t, JustItem((<-observe).V), HasItems(1, 2))
Assert(ctx, t, JustItem((<-observe).V), HasItems(3, 4, 5))
Assert(ctx, t, JustItem((<-observe).V), HasItems(6, 7, 8))

BTW are you sure that you've got latest version? Cause I see another expected values:
Assert(ctx, t, JustItem((<-observe).V), HasItems(1, 2))
Assert(ctx, t, JustItem((<-observe).V), HasItems(3, 4, 5))
Assert(ctx, t, JustItem((<-observe).V), HasItems(6, 7, 8))

Nope, check at the files changed on this PR.
It's still:
Assert(ctx, t, (<-observe).V.(Observable), HasItems(0, 1))
Assert(ctx, t, (<-observe).V.(Observable), HasItems(2, 3, 4))
Assert(ctx, t, (<-observe).V.(Observable), HasItems(5, 6, 7))

Moreover, we can't keep a unit test to executes in 9 seconds.

No longer active


Popout modal brightness not working

--popout-modal-brightness does not change the user/profile popout brightness.
In line 60 of "theme/app/_background.scss", the box-shadow value is:
inset 0 0 0 100vmax rgb(0, 0, 0, var(--overlay-brightness, var(--popout-modal-brightness)))
Apparently that doesn't affect the brightness because line 17 of "theme/popouts/_userpopout.scss" has a different box-shadow value of:
inset 0 0 0 100vmax rgb(0, 0, 0, var(--overlay-brightness))
After changing line 17 to include --popout-modal-brightness, the popout brightness works again.

That's because the BD website hasn't got the most updated theme file. Either download it from the GitHub repo or use https://bdeditor.dev


Collapsing bullet point containing emoji in Markdown document results in [??] character

VSCode Version: 1.17.2 (b813d12980308015bcd2b3a2f6efa5c810c33ba5)
OS Version: macOS High Sierra 10.13 (17A405)

Steps to Reproduce:

Save new Markdown document
Type:

1. text
1. 🙏
1. text

Collapse line 2 with the emoji, [??] character is rendered. Expanding the line restores the emoji.
Reproduces without extensions: Yes

Before:

After:


Reference #!null directly instead

Reference #!null directly in the while macro instead of via
the the-null-value which apparently isn’t always bound.
Change-Id: I2e178f4c6a0317d4014d115912c16b9689bf1dd5

Fix #1295

@ewpatton This code is on ai2-test


Add support for linux_ppc64le and linux_aarch64

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

The new platforms won't be built unless we re-render the feedstock, which will add the appropriate yaml files in .ci_support.
So here goes...
@conda-forge-admin, please rerender

Hmm... Rerendering added the new configuration files for linux-aarch64 and linux-ppc64le, but it didn't start new checks for those platforms -- it just restarted the checks that it was already running.
I wonder if closing this PR and re-opening it would properly reinitialize the CI and allow it to start new checks.

On Gitter, Isuru pointed out that re-rendering DID work.  These platforms are built by Travis-CI, not Azure.  I wasn't looking at the right checks.  My bad.  (Azure doesn't have native aarch64 support, but Travis does, I guess.)

@jakirkham I opened https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/4261

BTW, Isuru also pointed out that if Travis is misbehaving ("it's flaky"), then another option is to build on Azure via cross-compilation:
build_platform:
  linux_ppc64le: linux_64
  linux_aarch64: linux_64

...but meanwhile, IIUC, a bot will start opening PRs on this repo and the others mentioned in the above-mentioned PR once it is merged.  If something goes wrong here, I'll probably wait to see how the bot's PR looks.

Here's the migrator PR ( https://github.com/conda-forge/cairomm-feedstock/pull/30 ) FWIW. If it is merged or closed, the bot will treat the feedstock as migrated. So if we go with this PR, would make sure to close the bot PR

Let's do cross compilation. I don't to use travis unless it's absolutely necessary.

Could you please propose those changes in the diff then?

Could you please propose those changes in the diff then?

Done.

@count0 Can you apply the suggested change, since this is your PR?

@count0 You also need to increment the build number in meta.yaml:
build:
  number: 1
  run_exports:
    - cairomm-{{ abi_version }} >={{ version }}

@conda-forge-admin, please re-render

Re-rendering is needed for the conda-forge.yml change. However it looks like the new builds were removed entirely. Usually this is due to other changes being needed in the recipe

Looks like a random network error. It failed to download the source tarball.
@conda-forge-admin, please restart ci

Please close.  Superseded by #31.
(This PR had a bug, due to a mistaken code suggestion from me.  My bad.)


Add USE_DEBUG_FPE to enable floating point exceptions

Add USE_DEBUG_FPE to enable floating point exceptions  (disabled by default)
Add USE_DEBUG_FPE to enable or disable fast math (enabled by default)

When USE_DEBUG_FPE is used, nothing is done unless some of those cvars are enabled:

common.fpe.invalid
common.fpe.divByZero
common.fpe.overflow
common.fpe.underflow

The USE_DEBUG_FPE option is required to specialize the build to make it possible to enable them.

I have not tested the Apple and MSVC code.

I renamed the cmake option to USE_FLOAT_EXCEPTIONS.

Hmm, my mac doesn't support more than Catalina, so no more than macOS 10.15.7 with Clang 12.0.0, and I get these errors:
src/engine/framework/System.cpp:319:19: error: use of
      undeclared identifier '__fpcr_trap_invalid'
                                exceptions |= __fpcr_trap_invalid;
                                              ^
src/engine/framework/System.cpp:331:19: error: use of
      undeclared identifier '__fpcr_trap_divbyzero'
                                exceptions |= __fpcr_trap_divbyzero;
                                              ^
src/engine/framework/System.cpp:343:19: error: use of
      undeclared identifier '__fpcr_trap_overflow'
                                exceptions |= __fpcr_trap_overflow;
                                              ^
src/engine/framework/System.cpp:356:8: error: no member named
      '__fpcr' in 'fenv_t'
                        env.__fpcr = env.__fpcr | exceptions;
                        ~~~ ^
src/engine/framework/System.cpp:356:21: error: no member named
      '__fpcr' in 'fenv_t'
                        env.__fpcr = env.__fpcr | exceptions;

So I cannot test macOS right now.

I face a weird cmake bug, if I do that:
	if (USE_FLOAT_EXCEPTIONS)
		message(STATUS "test true")
		# Floating point exceptions requires trapping math
		# to avoid false positives on architectures with SSE.
		set_c_cxx_flag("-ffp-model=strict")
	endif()

The “test true” message is printed, but the -ffp-model=strict flag isn't used.
But if I do:
	set_c_cxx_flag("-ffp-model=strict")
	if (USE_FLOAT_EXCEPTIONS)
		message(STATUS "test true")
		# Floating point exceptions requires trapping math
		# to avoid false positives on architectures with SSE.
	endif()

The flag is set, so I know the test is true, I know the block is executed, I know the function works, but the whole combination doesn't work…

If I do instead:
	if (USE_FLOAT_EXCEPTIONS)
		message(STATUS "test true")
		try_c_cxx_flag(FFP_MODEL_STRICT "-ffp-model=strict")
		# Floating point exceptions requires trapping math
		# to avoid false positives on architectures with SSE.
	endif()

I get this printed:
-- test true
-- Performing Test FLAG_FFP_MODEL_STRICT
-- Performing Test FLAG_FFP_MODEL_STRICT - Success

But the flag is not added to the compiler command line.


Empty values are valid for these properties

Otherwise, Ambari requires something be set in these to continue.

LGTM


Error when .csproj has multiple ItemGroups

I just installed this extension and am getting multiple errors due to the way my .csproj files are structured.  I generally have two (or more) ItemGroup sections in my project files, one group for "external" NuGet <PackageReference>s and another group of <ProjectReference>s for other projects in my workspace.  I could combine them but it would be ideal if the extension could handle this.  Full example below (I'm using a Directory.build.props file for the NuGet versions of external packages to keep them consistent across projects in my workspace)
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net5.0-windows</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="$(Microsoft-AspNetCore-Mvc-NewtonsoftJson--NuGetVersion)" />
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="$(Microsoft-Extensions-Logging-Console--NuGetVersion)" />
    <PackageReference Include="Microsoft.Extensions.Logging.EventLog" Version="$(Microsoft-Extensions-Logging-EventLog--NuGetVersion)" />
    <PackageReference Include="NSwag.AspNetCore" Version="$(NSwag-AspNetCore--NuGetVersion)" />
    <PackageReference Include="AutoMapper" Version="$(AutoMapper--NuGetVersion)" />
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="$(AutoMapper-Extensions-Microsoft-DependencyInjection--NuGetVersion)" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\SampleProject.Common\SampleProject.Common.csproj" />
    <ProjectReference Include="..\SampleProject.Model\SampleProject.Model.csproj" />
    <ProjectReference Include="..\SampleProject.ReservingReports\SampleProject.ReservingReports.csproj" />
    <ProjectReference Include="..\SampleProject.Services\SampleProject.Services.csproj" />
    <ProjectReference Include="..\SampleProject.ServiceInterfaces\SampleProject.ServiceInterfaces.csproj" />
  </ItemGroup>

</Project>

Hi @caseyredisatwork
Thank you for the report, I will check it.

same here. hope the power of the community can fix this 👍

This package doesn't support Directory.build.props feature, because with Update All functionality you can sync a package across projects easily.


Add flags to prevent mob spawning in claims (and add a claim square command)

Changes

Add an allowMonsters flag to prevent hostile mob spawning in claims (defaults to false)
Add an allowAnimals flag to prevent friendly mob spawning in claims (defaults to true)
Add the /f claim square [size] command to claim a larger area at once.

Discussion
This PR introduces database changes to the factions table (the addition of the two flags). How should database migration be handled? Should flags maybe be removed from the factions table altogether and be moved into their own table?

This is awesome! I'll do some testing and merge the PR. I'll play around with some data migration stuff too.

Due to how old this pull request is it would be a significant amount of work to merge. I also don't like the idea of allowing players to disable spawning in claims. I do like the idea of the claim square command and will probably implement something similar.


[MAINT] updates test wrapper dependencies

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


"All direct messages" should work with keyboard

At present, pressing "Enter" with the "All direct messages" button selected by keyboard navigation does not take the user to the "All direct messages" view. It should work just like clicking that button with the mouse.

i am new to open source.can u please help me out with
how to solve this issue

@lokeshkadem  please refer to our guide to asking great questions for some tips on how to get help figuring out how to approach an issue. It's very difficult to answer general questions along the lines of, "how do I get started?" Thanks!

@zulipbot claim

@zulipbot claim

Hey thanks for the heads-up! Sorry for the delay, we're still working on it and getting used to the development env. Aiming to push an update this week.

@zulipbot  claim

@zulipbot claim

Hey @alya, I was working on this and made some progress but wasn't able to fully solve the issue and was wondering if you could please give me some pointers on the path forward.
I noticed that Direct Messages span and heading wasn't keyboard focusable so provided tabindex to them so they could now receive keyboard focus which works correctly. Then I found out that maybe we are missing handler for keyboard key presses and added that for private_messages_container which ultimately calls toggle_private_messages_section, copying the same logic we currently have for a click handler. (PS I would later look also into extending the same and not copying same code over as an improvement)
However, I wanted to just try if the handler for keypress ever gets invoked or not but that wasn't happening. Could you please help me out if this is not on the right path and how to debug further? Thanks!!
Draft PR: #26763

@bhaveshvasnani - To get feedback on your approach, please post a specific question in the #frontend stream in the Zulip development community. Be sure to follow our guide to asking great questions.

I have opened a PR for the fix. Please review #26763

@zulipbot Yes, I am actively working on it. I have a PR already up and am working on addressing further feedback on it

@alya, the PR for this is up and has been in integration review for some time. Could you please let me know if I need to take any action or what is the next step in the process? Thank you!


storage: implement storage trait for s3

ref #263
implement new Storage & futures trait for s3 storage.

Sent a PR https://github.com/zojw/engula/pull/4


Keyboard covers input at the bottom of the page if there is no status bar

Google Play Build: 4.0.3 Crosswalk
Keyboard covers the input field at the bottom of the app in android devices.
This bug is, unfortunately, a showstopper for pretty most any serious app that needs input from the user, since the user cannot see what he's writing.
The test case is quite simple:
1- Create a new app: steroids create myApp
2- Put an <input type=“text”> in the index.html, just before the </body>
3- Run, touch the input, and check that you cannot see what you're writing since the keyboard covers the input

+1

Though it's not 100% the same (i.e. if you have a form field instead of chat-type setup), the new native input plugin at https://github.com/appgyver/input-plugin will work correctly with the status bar displayed.


Improve index coverage

Gets 100% coverage of index actions that dispatch on @index_subaction_dispatch_table
(This is preliminary to pruning and revising that table.)
Delivers Pivotal #184362765.
Mostly adds new tests.
In a few cases modifies misbehaving controller code.

Coverage: 93.5% (+0.1%) from 93.36% when pulling 3196698b6aba521c6880ae99dcddf86a60275ef0 on jdc-improve-index-coverage into 03c352f5790fa80db306d254d273a9a46e094ee3 on main.

🚧 Temporarily closing while I make some repairs.

Thanks Nimmo. I'll have a look at that method.
The tags are in the flash.
On Thu, Feb 2, 2023 at 3:12 PM andrew nimmo @.***>
wrote:

@.**** commented on this pull request.
In app/extensions/regexp_extensions.rb
https://github.com/MushroomObserver/mushroom-observer/pull/1324#discussion_r1095189205
:

+class Regexp

Spaces are not Regexp meta-characters, so

stop Ruby from escaping them

Cf. https://stackoverflow.com/questions/73933394/regexp-escape-adds-weird-escapes-to-a-plain-space

def self.escape_except_spaces(str)

escape(str).gsub("\ ", " ")

end

+end
Joe - I wrote a string_extensions method you might be able use here.
Check out string_extensions#as_displayed — it strips out html tags and
extra spaces. You'd use it like assert_flash(.as_displayed).
But i'm not sure that's what you need. Is it your matcher that has the
tag, or the flash it's matching against?
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/1324#discussion_r1095189205,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFCRYH5E3GJW6346OSTWVQ5MBANCNFSM6AAAAAAUOKPXIY
.
You are receiving this because you modified the open/close state.Message
ID: @.***
.com>

I could manually add the tags to the matcher.
I didn't like that because it requires additional knowledge about the flash
(and is potentially brittle).
On Thu, Feb 2, 2023 at 3:18 PM Joseph Cohen @.***> wrote:

Thanks Nimmo. I'll have a look at that method.
The tags are in the flash.
On Thu, Feb 2, 2023 at 3:12 PM andrew nimmo @.***>
wrote:

@.**** commented on this pull request.
In app/extensions/regexp_extensions.rb
https://github.com/MushroomObserver/mushroom-observer/pull/1324#discussion_r1095189205
:

+class Regexp

Spaces are not Regexp meta-characters, so

stop Ruby from escaping them

Cf. https://stackoverflow.com/questions/73933394/regexp-escape-adds-weird-escapes-to-a-plain-space

def self.escape_except_spaces(str)

escape(str).gsub("\ ", " ")

end

+end
Joe - I wrote a string_extensions method you might be able use here.
Check out string_extensions#as_displayed — it strips out html tags and
extra spaces. You'd use it like assert_flash(.as_displayed).
But i'm not sure that's what you need. Is it your matcher that has the
 tag, or the flash it's matching against?
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/1324#discussion_r1095189205,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFCRYH5E3GJW6346OSTWVQ5MBANCNFSM6AAAAAAUOKPXIY
.
You are receiving this because you modified the open/close state.Message
ID: <MushroomObserver/mushroom-observer/pull/1324/review/1282050924@
github.com>

@pellaea:
Can a Locations#index html request ever result in a query that's coerceable into a LocationDescription query?
I've 100% covered the relevant controller index actions except for one line in LocationsController:

Nice work, Joe.

@pellaea: Can a Locations#index html request ever result in a query that's coerceable into a LocationDescription query?

Yes, nicely buried!  Sorry I missed that.  No, I don't think it is possible with the existing UI, so go right ahead and remove these lines instead of covering them.  (The same should occur with name_descriptions, right?)

Thanks so much! I'll remove it.
You're right, the same should with name_descriptions, but ... it's not
there.
On Thu, Feb 2, 2023 at 7:32 PM Jason Hollinger @.***>
wrote:

@pellaea https://github.com/pellaea: Can a Locations#index html
request ever result in a query that's coerceable into a LocationDescription
query?
Yes, nicely buried! Sorry I missed that. No, I don't think it is possible
with the existing UI, so go right ahead and remove these lines instead of
covering them. (The same should occur with name_descriptions, right?)
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/1324#issuecomment-1414803751,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFCHYLK5B4Z446R4TALWVR35FANCNFSM6AAAAAAUOKPXIY
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Thanks for the feedback. I appreciate your opinion.
On Thu, Feb 2, 2023 at 7:35 PM Jason Hollinger @.***>
wrote:

@.**** commented on this pull request.
In test/controllers/observations_controller_test.rb
https://github.com/MushroomObserver/mushroom-observer/pull/1324#discussion_r1095323860
:

@@ -508,6 +516,58 @@ def test_observation_search_with_spelling_correction
assert_response(:redirect)
end

def test_index_at_location_with_observations
location = locations(:obs_default_location)
params = { location: location.id }

login
get(:index, params: params)

assert_select("#title", text: "Observations from #{location.name}")
end

def test_index_at_location_without_observations
location = locations(:unused_location)
params = { location: location }
flash_matcher = Regexp.new(

 Regexp.escape_except_spaces(

Okay, I see where you're using it. I've got no problem with this.
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/1324#pullrequestreview-1282239280,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFANQVCJG4CCFFWTGBDWVR4JJANCNFSM6AAAAAAUOKPXIY
.
You are receiving this because you modified the open/close state.Message
ID: @.***
.com>


[Prototype] Add DependencyContext fallback to Razor compilation

Have a general look please:
@davidfowl @pranavkm

Prototype looks pretty good. Does it run with Dorkbuild?

looks good.

Yes, with latest dotnet cli fixes and this pr it works

I can mirror the packages from dotnet-cli feed as a one time job and figure out how to pull their packages in on a continuous basis.
:shipit: once changes are addressed.


[CS2103T-T09-1] GradPad

GradPad allows you to keep track of your degree progress and modules taken during your time in NUS with ease. Faster and more lightweight than traditional GUI applications, view and update your progress by issuing simple text commands.

Codecov Report

Merging #67 into master will decrease coverage by 1.20%.
The diff coverage is 82.62%.

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